Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在while循环中列出长度_Python_Python 3.x - Fatal编程技术网

Python 在while循环中列出长度

Python 在while循环中列出长度,python,python-3.x,Python,Python 3.x,我正在写一个程序来比较两个玩家之间的投币。我不明白为什么下面的while循环打印“Game Over”,即使两个列表的len都是5。当我通过键入len(player_x_army)来检查其中一个的len时,它会以正确的5作为响应。如果我把“或”改为“和”,效果很好。任何帮助都会很好 while len(player_1_army) or len(player_2_army) == 0: print("Game Over") len(玩家1军队)不是零。因此,或中的第一个替换返回true

我正在写一个程序来比较两个玩家之间的投币。我不明白为什么下面的while循环打印“Game Over”,即使两个列表的len都是5。当我通过键入len(player_x_army)来检查其中一个的len时,它会以正确的5作为响应。如果我把“或”改为“和”,效果很好。任何帮助都会很好

while len(player_1_army) or len(player_2_army) == 0:
    print("Game Over")
len(玩家1军队)
不是零。因此,
中的第一个替换返回true。因此执行
while
循环

在任何布尔表达式中,如果存在
编号
,则其计算结果为
编号!=0

相反,您需要:

len(player_1_army) == 0 or len(player_2_army) == 0

len(玩家陆军)==0
非玩家陆军
;空序列在布尔上下文中计算
False
。也不清楚为什么这是
while
循环。如果里面只有一条线,它就永远不会结束。