我正在为“猜测随机数”项目运行 while 循环。我的问题是,当用户最终猜测正确答案时,下面的代码没有按应有的方式打印“Bingo”。相反,它正在退出 while 循环。
在其他语言中,while 循环在每次运行后都会评估条件。在这种情况下,即使在执行最后一条语句之前,循环似乎也会在条件不再为真时终止。
为什么会这样?
import random
x=100
random_number = random.randint(1,x)
y = int(input('what do you think is the number?! '))
while y!= random_number:
if y>random_number:
print('Too high')
y = int(input('what do you think is the number?! '))
elif y<random_number:
print('Too low')
y = int(input('what do you think is the number?! '))
else:
print('Bingo!')
当用户输入正确的数字时,下一次迭代的
y != random_number
条件失败,因此循环停止。它永远不会到达else:
块。
代替
while condition:
,检查循环内的条件并在打印消息后使用 break
停止。
while True:
y = int(input('what do you think is the number?! '))
if y>random_number:
print('Too high')
elif y<random_number:
print('Too low')
else:
print('Bingo!')
break