如果用户输入为!= 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,它仍然会输出无效输入'。我错过了什么?
答案 0 :(得分:2)
您要排除0 和 1的值,因此条件必须是和表达式,而不是或表达式。
if entering != 0 and entering != 1:
print('invalid input')
答案 1 :(得分:1)
在第一种情况下,其中一个条件保证为真:如果entering ==0
,则entering != 1
,反之亦然。在第二种情况下,它被评估为(entering != 0) or 1
,1
始终为真。
您想要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'