python if-condition基于int intput

时间:2017-01-01 21:51:58

标签: python

如果用户输入为!= 0或1,我想打印一条消息。

entering = int(input('enter 0 or 1: '))

我可以让它适用于0或1,但是当我尝试将两者结合在一个if条件中时,它不起作用。我尝试了两个选项:

if entering != 0 or entering != 1:
    print('invalid input')

if entering != 0 or 1:
    print('invalid input')

如果我输入0或1,它仍然会输出无效输入'。我错过了什么?

3 个答案:

答案 0 :(得分:2)

您要排除0 1的值,因此条件必须是表达式,而不是表达式。

if entering != 0 and entering != 1:
    print('invalid input')

答案 1 :(得分:1)

在第一种情况下,其中一个条件保证为真:如果entering ==0,则entering != 1,反之亦然。在第二种情况下,它被评估为(entering != 0) or 11始终为真。

您想要and

if entering != 0 and entering != 1:

not in运营商:

if entering not in [0,1]:

答案 2 :(得分:0)

我会改写为:

while True:
    entry=input('enter 0 or 1: ') #raw_input if Python 2
    if entry in ('0','1'):
        user_input=int(entry)
        break
    else:
        print 'Invalid Entry'