即使我提供1,2或3之外的任何其他值,此逻辑OR的计算结果也为true。
在我开始学习Python时,请为这个问题提供帮助
user_input=int(input('Please provide Size of coffee: (1-small/2-medium/3-large)'))
if user_input!=1 or user_input!=2 or user_input!=3:
print('Please input 1,2 or 3')
答案 0 :(得分:0)
尝试这样的事情
user_input=int(input('Please provide Size of coffee: (1-small/2-medium/3-large)'))
if user_input not in (1, 2, 3):
print('Please input 1,2 or 3')
else:
print('Thanks... {} coming up'.format(user_input))
答案 1 :(得分:0)
您在程序中使用NOR操作,因此多个TRUE等于False。在这种情况下,正确的操作是NAND。希望对您有帮助。
user_input=int(input('Please provide Size of coffee: (1-small/2-medium/3-large)'))
if user_input!=1 and user_input!=2 and user_input!=3:
print('Please input 1,2 or 3')
答案 2 :(得分:0)
问题出在实现逻辑检查操作的方式上,您已使用OR运算符连接了逻辑,即使输入之一为TRUE,该运算符的结果也为TRUE。在当前实现中,假设用户将键入2,因此根据您的代码,语句user_input!= 1和user_input!= 3将评估为TRUE,而user_input!= 2评估为FALSE,并且由于您已使用逻辑连接OR运算符,因为OR(TRUE,FALSE,TRUE)=> TRUE,您的输出将为TRUE。因此正确的实现是
user_input=int(input('Please provide Size of coffee: (1-small/2-medium/3-large)'))
acceptable_values = (1,2,3)
if user_input not in acceptable_values:
print('Please input 1,2 or 3')