我正在为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语句之间进行选择。
答案 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