我正在编写一个代码来按班级对学生进行排序,因此稍后输入的信息将单独存储。这是我的代码:
print(" Please Select Your Class From:")
print("Class 1")
print("Class 2")
print("Class 3")
while True:
try:
classchoice = input("")
if classchoice != "Class 1" or classchoice != "Class 2" or classchoice != "Class 3":
print("Please Choose from one of the three classes")
else:
print("Thank You")
break
except: pass
或者部分继续包括所有变体中的1,2和3类,例如,大写字母,没有大写字母,但它太长而不能适应图片。
我是初学者,我可能正在做一些非常愚蠢的事情。
答案 0 :(得分:1)
条件:
if classchoice != "Class 1" or classchoice != "class 1" ...
不可能是False,如果classchoice == "class 1"
那么第一个条件将为True所以整个事件将为True或如果classchoice == "Class 1"
那么第二个条件将为True所以整个语句将为True ,您想使用和代替或:
if classchoice != "Class 1" and classchoice != "class 1" ..
如果不是任何选项,它将以True形式执行,或者更好地使用in
运算符:
if classchoice not in ("Class 1","class 1",...):
答案 1 :(得分:0)
考虑a or b or c
评估的内容。如果a
为False
,则为b
,如果b
也为False
,则为c
。在您的情况下,classChoice != "Class 1"
为False
,因此结果为classChoice != "Class 2"
,即True
。一种方法是。
options = ["Class 1", "Class 2", "Class 3"]
while True:
option = input("Class ?: ")
if option in options:
break
对于您显示的代码,不需要try / except
块。