Почему не работает логический оператор 'and'

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

a = int(input())
b = int(input())
c = int(input())
d = int(input())
if ((a + b) % 2 == 0) and ((d + c) % 2 == 0):
    print('YES')
else:
    print('NO')

'''

В итоге я задачу решил, но так и не понял в чем была ошибка и почему условие if ((a + b) % 2 == 0) and ((b + c) % 2 == 0): не срабатывало.


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

Автор решения: Igor

Что-то я не вижу, как в Вашем коде используется переменная d.

if ((a + b) % 2 == (c + d) % 2):
    print('YES')
else:
    print('NO')

или

if ((a + b + c + d) % 2 == 0):
    print('YES')
else:
    print('NO')

print(a,b,c,d)
print((a + b) % 2 == 0)
print((d + c) % 2 == 0)
print(((a + b) % 2 == 0) and ((d + c) % 2 == 0))
→ Ссылка