shift = raw_input("Enter the shift the employee works in: ")
shift = shift.upper()
print shift
while (shift != "A" or shift != "B" or shift != "C" ):
shift = raw_input("Invalid Input- Please Enter a, b or c: ")
shift = shift.upper()
我需要验证用户是否正在选择" a,b或c"我也必须使用string.upper()。 然而,即使我输入" a,A,b,B,c或C"它仍会进入while循环。我有"打印班次"确保它输入正确,确实如此。
当我只有'#34; shift!=" A""并键入" a或A"它不会进入循环。只有当我添加" B和C"它开始搞砸了。我该如何解决这个问题?
答案 0 :(得分:2)
您需要使用and
代替or
(因为x != 1 or x != 2
始终为真):
while (shift != "A" and shift != "B" and shift != "C" ):
但你可以做得更好:
while shift not in "ABC":