如何只允许一些输入:python

时间:2015-03-22 23:06:25

标签: python input

我试图只允许使用以下代码在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)。 可能是一个非常简单的修复。谢谢你的帮助。

2 个答案:

答案 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建议。