while循环带有or-condition

时间:2016-01-19 01:22:04

标签: python python-3.x

我希望一旦其中一个变量达到所需数量就停止。为什么此代码等到两个变量等于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:

1 个答案:

答案 0 :(得分:9)

如果至少其中一个变量为>= z时必须停止循环,则必须使用and来连接条件:

while x < z and y < z:

在您的代码中,使用or表明只要其中一个变量为< z,循环必须继续 - 而这不是您想要的。