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 = 10
和 B = 2
循环仍将继续,因为 B
仍然满足条件。只有当 A
的值大于或等于 10 AND B
的值大于或等于 [= 时,循环才会终止11=](两者必须为真)。
为什么当我输入代码时:
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 = 10
和 B = 2
循环仍将继续,因为 B
仍然满足条件。只有当 A
的值大于或等于 10 AND B
的值大于或等于 [= 时,循环才会终止11=](两者必须为真)。