【发布时间】:2018-08-29 23:36:34
【问题描述】:
我对编程完全陌生,我现在正在通过 edX 学习,我遇到了这段代码,但我真的不知道为什么代码被称为不正确,即使它给出了输出。本来会在 edx 平台上问的,但该课程两年前就完成了,只是从存档的内容中学习。谢谢。
结果是 'i win' 和 'tie' 它有一个输出,为什么它仍然不正确?
comp = 'rock'
user = 'rock'
if comp == 'rock':
print 'I win *_*!'
if user == 'paper':
print 'You win.'
else:
print 'Tie.'
非常感谢您对我的问题的答复,但如需进一步说明,请在此处查看此代码: comp == '摇滚' 用户 == '摇滚'
if comp == 'paper' and user == 'paper':
print('tie')
elif comp == 'rock':
if user == 'scissors':
print ('I win')
else:
print ('You win')
else:
print ('tie')
对于“摇滚”用户,它会从第二个测试 (elif) 中打印“你赢”,但据说输出不正确,但如果用户 == '剪刀',它会打印“我赢”,据说是正确的。我关心的是为什么,使第二个 elif 下的 if 正确而同一 elif 下的 else 不正确的区别是什么?
【问题讨论】:
-
if不是elif。 -
“我真的不知道为什么代码被称为不正确,即使它给出了输出”——我们不会仅仅因为它给出了输出就称代码正确。
-
@user2357112 这没用
-
如果 comp == 'rock' 为真,则打印。然后程序继续并检查 user =='paper' 是否失败,所以转到 else 并打印你赢了。如果将 if user =='paper' 更改为 elif,则如果上述 if 语句为真,则不会运行。查找 Python 控制流en.wikibooks.org/wiki/Python_Programming/Control_Flow
-
@user2357112 我已经意识到这就是为什么我想知道为什么这个代码被称为不正确的原因。
标签: python if-statement