所以我的while循环只是保持循环,即使它不应该,如果只有1个条件循环工作,然后进入下一行代码但是当我添加OR语句它不会工作,我肯定这是非常愚蠢的事情,但我只是一个初学者,并试图研究这个。
Choice = input("What would you like to do? New Game, Continue, or Quit?").upper()
while Choice != "NEW GAME" or Choice != "QUIT":
print ("That input was invalid, please try again.")
Choice = input("What would you like to do? New Game, Continue, or Quit? ").upper()
if Choice == "QUIT":
quit()
答案 0 :(得分:5)
条件
Choice != "NEW GAME" or Choice != "QUIT"
始终为True
。 Choice
的任何值都不是"NEW GAME"
或不是"QUIT"
。相反,使用:
Choice != "NEW GAME" and Choice != "QUIT":
答案 1 :(得分:2)
我认为你在寻找
while Choice not in ["New Game", "Continue", "Quit"]
或更好地允许替代大写:
while Choice.upper() not in ["NEW GAME", "CONTINUE", "QUIT"]
另请注意变量Choice
的大写。当其他Python程序员看到一个以大写字母开头的变量时,他们首先假设它是一个类名。
答案 2 :(得分:0)
我想你想要and
,而不是or
......
由于Choice
不能同时 与"NEW GAME"
和"QUIT"
不同。换句话说,无论True
的值是什么,您的循环条件始终为Choice
。