列出while循环中的长度

时间:2014-07-27 06:06:27

标签: 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")

1 个答案:

答案 0 :(得分:0)

len(player_1_army)不是零。因此,OR中的第一个交替返回true。因此执行while循环。

在任何布尔表达式中,如果存在number,则会将其评估为number != 0

相反,你需要:

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