我希望一旦其中一个变量达到所需数量就停止。为什么此代码等到两个变量等于20或更大才能结束?
z = 20
x = 1
y = 0
while x < z or y < z:
inp = int(input('enter a number'))
if x > y:
y += inp
elif y > x:
x += inp
print(x, y)
或使用类似这些示例的内容只是不断添加并永不停止:
while x != z or y != z:
while x or y < z:
while x or y != z:
答案 0 :(得分:9)
如果至少其中一个变量为>= z
时必须停止循环,则必须使用and
来连接条件:
while x < z and y < z:
在您的代码中,使用or
表明只要其中一个变量为< z
,循环必须继续 - 而这不是您想要的。