首页 > 解决方案 > 同时比较一个列表和另外两个列表

问题描述

我正在创建一个简单的井字游戏,目前正在编写检查获胜者的函数。我正在尝试执行以下操作:

['X', 'X', 'X'] == (['X', 'X', 'X'] or ['O', 'O', 'O'])
>>> True

在上述情况下,它会True正确返回。另一方面,在这种情况下返回False

['O', 'O', 'O'] == (['X', 'X', 'X'] or ['O', 'O', 'O'])
>>> False

那么如何同时将列表与其他两个进行比较呢?

标签: python

解决方案


布尔表达式不像那样工作——它们不像英语句子那样工作。你必须检查某物是否存在某物之中。执行以下操作:

["X", "X", "X"] in (["X", "X", "X"], ["O", "O", "O"])

['O', 'O', 'O'] in (['X', 'X', 'X'], ['O', 'O', 'O'])

当您使用 时or,python 将运算符的每一侧视为单独的表达式。看看这个:https ://docs.python.org/3/reference/expressions.html#operator-precedence


推荐阅读