outcome=input("higher or lower")
while (outcome!= 'h' or outcome!= 'l'):
outcome=input("enter h or l")
print("its working")
Run Code Online (Sandbox Code Playgroud)
即使我写H或L,while循环仍然继续
你需要and而不是or.
让我们假设小写/大写问题不是问题而你输入h而不是H.
那么你的表达将是:
'h' != 'h' or 'h' != 'l'
\________/ \________/
false or true
\________________/
true
Run Code Online (Sandbox Code Playgroud)
由于一个物体不能同时是两件事,其中一个不等式必须是真的.因此整个表达必须是真的.
因此,您应该将其更改为:
while (outcome != 'h') and (outcome != 'l'):
Run Code Online (Sandbox Code Playgroud)
要么:
while outcome not in ('h', 'l'):
Run Code Online (Sandbox Code Playgroud)
随着可能性的增加,后者更加简洁:
while outcome not in ('n', 's', 'e', 'w', 'u', 'd', 'l', 'r'):
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |