虽然循环不能正常工作?

时间:2015-04-11 17:09:11

标签: python while-loop

我正在为python编程中的练习创建数学测验,我遇到了一个问题。我正在尝试创建一个while循环以将其用作验证,以确保用户输入1,2或3.当我使用此循环时,它只是继续循环而不退出。

cl = int(input("Please enter your class (1, 2 or, 3): "))  

while cl != 1 or cl != 2 or cl != 3 : 
    cl = int(input("Please enter your class (1, 2 or, 3): "))

我有代码保存其他信息到文本文件(我知道csv文件可能更容易),它不会继续这个代码。

我该如何解决这个问题,还是有更好的方式来做我正在尝试的事情? cl是一个变量,它将以整数的形式作为用户的输入。整数将用于在if和elif语句之间进行选择。

1 个答案:

答案 0 :(得分:0)

此条件始终为True!要使其工作,您需要使用and代替:

while cl != 1 and cl != 2 and cl != 3: 
              ^^^         ^^^

采用基本案例:c1 != 1 or c1 != 2,看看逻辑如何适用于while条件和我建议的条件:

c1       c1 != 1   c1 != 2   (c1 != 1 or c1 != 2) (c1 != 1 and c1 != 2)
1         false     true             true                  false
2         true      false            true                  false
!1,2      true      true             true                  true