Python 中的 While 循环和逻辑运算符 - 它是如何工作的?

While loop and logical operators in Python - how does it work?

为什么当我输入代码时:

A = 0
B = 0

while A<10 or B<5:
    A+=1
    B+=1
    print(A)
    print(B)

当B=5时循环不停止;相反,它继续向 A 和 B 加 1,直到 A = 10,然后停止。当我交换订单时,同样的事情发生了,比如:

while B<5 or A<10:

当我用 'and' 替换 'or' 时,代码在 B=5 时停止,这正是我想要的方式。我只是对 'or' 和 'and' 的实际工作方式感到困惑。

类似于英文:

  • or任意两边的条件为True.[=16=时给出True ]

  • and所有两边的条件都是True.[=16=时给出True ]

A < 10 and B < 5 表示您的循环 while continue while A 小于 10 AND B 小于 5 (检查两个条件)或者换句话说,只有当 A 的值大于或等于 10 OR B 的值大于或等于 5(两者中的任何一个)。

至于 A < 10 或 B < 5,如果 A 的值小于 10 ,则循环将继续OR B 的值小于 5(两者之一)。也就是说,如果 A = 10B = 2 循环仍将继续,因为 B 仍然满足条件。只有当 A 的值大于或等于 10 AND B 的值大于或等于 [= 时,循环才会终止11=](两者必须为真)。