Python while循环具有两个特定条件

Python while循环具有两个特定条件,python,Python,我有一个类似这样的代码: list1 = input() while list1 != "y" or list1 != "n": print() print("INVALID INPUT") print() list1 = input() 无论何时我运行它,无论输入如何,我都会陷入循环中 如果输入“y”或“n”,我希望循环结束。无论列表1是什么,它不能同时是“y”和“n”,因此它始终不是其中之一。我想你的意思是“和”不“或。”一个变量不能有两个值,所以在列表1中使用“y”或列

我有一个类似这样的代码:

list1 = input()

while list1 != "y" or list1 != "n":
  print()
  print("INVALID INPUT")
  print()
  list1 = input()
无论何时我运行它,无论输入如何,我都会陷入循环中


如果输入“y”或“n”,我希望循环结束。

无论列表1是什么,它不能同时是“y”和“n”,因此它始终不是其中之一。我想你的意思是“和”不“或。”

一个变量不能有两个值,所以在列表1中使用
“y”或列表1!=“n”
是一个无休止的循环,因为
list1
肯定会与其中至少一个不同


您需要的是
while list1!=“y”**和**列表1!=“n”
。这样,对于任何不是
y
n
的值,循环将继续。

将or更改为andA,检查有效答案的更好方法是
列表1不在“yn”中或
列表1不在(“y”,“n”)
。后一个表达式允许与多字符字符串进行比较。可以通过缩短代码(例如条件)来调试此类问题,直到不会出现任何错误。