outcome=input("higher or lower")
while (outcome!= 'h' or outcome!= 'l'):
outcome=input("enter h or l")
print("its working")
即使我写H或L
,while循环仍然继续答案 0 :(得分:6)
您需要and
而不是or
。
我们假设小写/大写问题不是问题而您输入h
而不是H
。
您的表达将是:
'h' != 'h' or 'h' != 'l'
\________/ \________/
false or true
\________________/
true
由于对象不能同时两件事,其中一个不等式必须为真。因此,整个表达必须是真的。
因此你应该改为:
while (outcome != 'h') and (outcome != 'l'):
或:
while outcome not in ('h', 'l'):
随着可能性的增加,后者更加简洁:
while outcome not in ('n', 's', 'e', 'w', 'u', 'd', 'l', 'r'):