而声明在python中停留在无限循环中

时间:2015-10-15 06:52:51

标签: python python-2.7 while-loop

task = ""
while task != "e" or task != "d": 
    task = raw_input("would you like to encrypt or decrypt\r\n:- ").lower()
keyword = raw_input("enter a keyword:-").lower()
keyphrase = raw_input("enter a key phrase:-").lower()

有人知道为什么当代码运行时,即使输入了正确的输入,while语句也会反复循环。我认为这与while语句中的参数有关,但我不确定。

我已经尝试了只有一个条件的while语句,这有效,但不明白为什么它不能使用多个

2 个答案:

答案 0 :(得分:2)

您的or语句始终评估为True

如果task == 'e',则task != 'd'while循环评估为True,从而使循环无限期地继续。

将其更改为:

task = " "
while task not in "ed":
    # do stuff

答案 1 :(得分:1)

任何任务,任务!=“e”或任务!=“d”不会是假的