while循环具有多种条件

时间:2015-05-05 01:38:17

标签: python

所以我的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()

3 个答案:

答案 0 :(得分:5)

条件

Choice != "NEW GAME" or Choice != "QUIT"

始终为TrueChoice的任何值都不是"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