Почему не работает логический оператор '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))