Python 当条件满足时,While循环不会停止
我想停止这个while循环,当它打印“你闻起来很好笑!”。代码确实停止了,但它没有停在正确的句子,我在这里做错了什么Python 当条件满足时,While循环不会停止,python,string,while-loop,formatting,break,Python,String,While Loop,Formatting,Break,我想停止这个while循环,当它打印“你闻起来很好笑!”。代码确实停止了,但它没有停在正确的句子,我在这里做错了什么 while True: from time import sleep from random import randint greetings = ["Hello","Howdy","You smell funny"] title = ["Human.", "Trump!" , "Maid."] greeting = "{x}, {y}".format(x
while True:
from time import sleep
from random import randint
greetings = ["Hello","Howdy","You smell funny"]
title = ["Human.", "Trump!" , "Maid."]
greeting = "{x}, {y}".format(x=greetings[randint(0,2)], y=title[randint(0,2)])
if greeting == "{x}, {y}".format(x=greetings[2], y=title[1]):
break
else:
sleep(0.3)
print(greeting)
当它点击
break
并停止循环时,它还没有打印“问候语”。只要将打印(问候语)
移动到之前,如果问候语==…
您可以使用标志而不是“中断”退出循环
Break_Flag=True
while Break_Flag:
from time import sleep
from random import randint
greetings = ["Hello","Howdy","You smell funny"]
title = ["Human.", "Trump!" , "Maid."]
greeting = "{x}, {y}".format(x=greetings[randint(0,2)], y=title[randint(0,2)])
if greeting == "{x}, {y}".format(x=greetings[2], y=title[1]):
print(greeting,"Stop")
Break_Flag=False
else:
sleep(0.3)
print(greeting)
适当地缩进代码,人们将能够提供更多的帮助。无论哪种方式,问题在于,一旦问候语符合您的标准,您就不会打印它。break语句退出while循环,而
print(greeting)
永远不会执行。您可能也希望在循环之外执行导入。@JimNilsson,谢谢您的提醒,现在我已正确缩进了它们。现在我看到了问题所在,看起来我只需要添加一行,打印上面的问候语“if”就可以了。如何插入Python代码,我的代码看起来很混乱。在每行代码之前,输入4个空格。我为你编辑了这篇文章,它正在等待评论。非常感谢。另一个问题,如果我从PyCharm复制代码,每行仍然需要插入4个空格?我不知道从我的脑海中,但每次你在这里写一个答案,你可以看到你的答案预览下面进一步。如果它不是这样显示的,作为一个代码,那么添加4个空格。