Почему мне всегда выдаёт YES

Дана задача: Заданы две клетки шахматной доски. Если они покрашены в один цвет, то выведите слово YES, а если в разные цвета — то NO. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Я сделал код, который по моему мнению должен был работать, но он всегда выдаёт YES. Что не так?

a = int(input())
b = int(input())
c = int(input())
d = int(input())
if a == 1 or 3 or 5 or 7 and b == 1 or 3 or 5 or 7:
    if c == 1 or 3 or 5 or 7 and b == 1 or 3 or 5 or 7:
        print("YES")
    else:
        print("NO")

Ответы (1 шт):

Автор решения: Rabban Keyak

Это потому что a == 1 or 3 or 5 or 7 and b == 1 or 3 or 5 or 7 всегда true и c == 1 or 3 or 5 or 7 and b == 1 or 3 or 5 or 7 всегда true.

a == 1 or 3 or 5 or 7 and b == 1 or 3 or 5 or 7 всегда true, потому что 3 всегда true.

c == 1 or 3 or 5 or 7 and b == 1 or 3 or 5 or 7 всегда true, потому что 3 всегда true.

→ Ссылка