while循环在满足条件时不停止
While loop does not stop when the condition is met
我想在它打印 "You smell funny Trump!" 时停止这个 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=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)
它还没有打印 "greeting",当它到达 break
并停止循环时。只需将 print(greeting)
移动到 if 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)
我想在它打印 "You smell funny Trump!" 时停止这个 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=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)
它还没有打印 "greeting",当它到达 break
并停止循环时。只需将 print(greeting)
移动到 if 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)