Python while while循环在每种情况下都会中断

时间:2016-12-22 09:54:36

标签: python loops while-loop break

我试图制作一个掷骰子的程序并检查用户是否想要继续每次掷骰,如果没有,程序应该停止。虽然,无论你输入什么,程序都会突破循环。有人可以解释为什么,并给我一些提示,使一个更简单和有效的程序?谢谢

import random
sideNumber = int(input("Enter the number of sides in the die: "))
print("Dice numbers: ")

while True:
 print(random.randint(0, sideNumber))
 print("Do you want to continue?")
 response = input()
 if response == "n" or "no":
  break

2 个答案:

答案 0 :(得分:0)

那是因为陈述"no"仍然是真的。

你应该这样做:

if response == "n" or response == "no":

或更好:

if response in ["n", "no"] : 

答案 1 :(得分:0)

if response == "n" or "no":

使您的代码失败。这将检查"no"的布尔值是否为真,并且始终为。将其替换为:

if response == "n" or response == "no":