我对编程是完全陌生的,我现在正在通过edX学习,我遇到了这段代码,但我真的不知道为什么这段代码被称为不正确的,即使它给出了一个输出。本可以在edx平台上提问,但该课程在两年前结束,只是从存档的内容中学习。谢谢。你知道吗
结果是'我赢'和'平局',它有一个输出,为什么它仍然是不正确的?你知道吗
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')
对于“rock”用户,它将从第二次测试(elif)打印“you win”,但是输出被认为是不正确的,但是如果user==“剪刀”,它将打印“I win”,这被认为是正确的。我关心的是为什么,第二个elif下的if和同一个elif下的else有什么区别?你知道吗
当你使用if语句时,你不是在问某事是否正确,而是在问某事是否正确。这被称为布尔运算符,取决于它是true还是false,导致if语句执行或不执行。你知道吗
你之所以得到答案的“领带”,是因为你使用了两个if语句,而不是elif语句。我为您重构了以下内容:
更多阅读可以在这里找到:https://www.programiz.com/python-programming/if-elif-else
那么if语句会发生什么呢。 如果您的代码碰到一个
if
语句,它将查看该条件并基于该条件执行它,接下来会发生什么,当第一个if
语句没有执行时,它将查看是否有任何后续的elif
或else
语句。 在所有的if
、elif
和else
中,只有一个会被执行。把它想象成一个从if
开始,以else
结尾的大块。 如果有另一个if
语句,那么无论是否执行前一个if
,代码都会再次查看它,因为代码会认为它是另一个条件块。你知道吗因此,在您的代码中,即使您的输入落在第一个
if
语句下,它仍然会查看第二个if
并检查条件。你知道吗我在您的代码中添加了一些注释以使其更直观:
用
elif
替换第二个if
将解决问题。你知道吗您的代码将正常工作,但需要进行一些语法更正:
我在这里所做的就是将第二个
if
改为elif
,并在print
语句输出周围加上括号。在Python中,“elseif”写为“elif”。您可以有任意多个elif
语句。你知道吗相关问题 更多 >
编程相关推荐