我试图只允许使用以下代码在python中输入一些
while True:
age=input('Are you 1,2 OR 3')
if age== ('1' or '2' or '3'):
break
else:
print('df')
当我输入1时,没有错误出现并继续执行程序的其余部分,但是当我输入2或3时,它会出现else:错误。我试过改变一下它似乎只接受选择中的第一个数字(1)。 可能是一个非常简单的修复。谢谢你的帮助。
答案 0 :(得分:2)
您需要使用以下内容更改age
检查:
if age in ('1', '2', '3'):
'1' or '2' or '3'
是一个布尔表达式,它返回第一个非空字符串。在这种情况下,字符串为'1'
。
例如:
>>> '1' or '2' or '3'
'1'
>>> '' or '2' or '3'
'2'
答案 1 :(得分:1)
你无法加入这样的比较。你可以:
if age == '1' or age == '2' or age == '3':
或使用in
运算符作为JuniorCompressor建议。