outcome=input("higher or lower")
while (outcome!= 'h' or outcome!= 'l'):
outcome=input("enter h or l")
print("its working")
the while loop keeps going even when i write H or L
outcome=input("higher or lower")
while (outcome!= 'h' or outcome!= 'l'):
outcome=input("enter h or l")
print("its working")
the while loop keeps going even when i write H or L
你需要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'):