Python 在while循环中列出长度
我正在写一个程序来比较两个玩家之间的投币。我不明白为什么下面的while循环打印“Game Over”,即使两个列表的len都是5。当我通过键入len(player_x_army)来检查其中一个的len时,它会以正确的5作为响应。如果我把“或”改为“和”,效果很好。任何帮助都会很好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 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
循环。如果里面只有一条线,它就永远不会结束。