Python- 如果所有语句都为 true,则返回 true

Python- Return true if all statements are true

提问人:Fábio Pires 提问时间:11/25/2022 更新时间:11/25/2022 访问量:315

问:

我有一个方法,如果所有 3 个语句都为 true,我希望它返回 true。如果其中任何一个是 false,则该方法应返回 false。

def check_valid(self, a, b):
  
        statement1 = self.x == 0
        statement2 = self.y == a
        statment3 = self.z = b
        return statement1 ^ statement2 ^ statement3

我使用 xor 来验证所有语句是否都具有相同的值,但如果所有语句都为 false,则该方法将返回 true,这不是预期的行为。

为了解决这个问题,我正在考虑在返回语句中添加一个 true,如下所示:

return true ^ statement1 ^ statement2 ^ statement3

但我不认为这是最好的方法。 有没有更干净/更好的方法可以做到这一点?

python 布尔 值 布尔逻辑 xor 布尔值运算

评论

0赞 Vin 11/25/2022
你是想写吗?statement3 = self.z == b
2赞 Vin 11/25/2022
我想你所追求的是return all([statement1, statement2, statement3])
1赞 Cam 11/25/2022
你也可以使用statement1 and statement2 and statement3

答:

2赞 Aynos 11/25/2022 #1

这种方式将是一种更好的方法,并且更具可读性:

def check_valid(self, a, b):
    if not self.x == 0: return False
    if not self.y == a: return False
    if not self.z == b: return False
    return True