pylint-errors

R0916 (too-many-boolean-expressions)

:x: Problematic code:

# Maximum number of boolean expressions in an if statement (by default 5)
def foo(x, y, z):
    if (x and y and z) and (x % 2 == 0 and y % 2 == 0 and z % 2 == 0):
        pass

:heavy_check_mark: Correct code:

def foo(x, y, z):
    if all([x, y, z]) and set(map(lambda n: n % 2, [x, y, z])).issubset({0}):
        pass

Rationale:

Used when an if statement contains too many boolean expressions.