Как определить, является ли год високосным?
Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным, то выведите YES, иначе выведите NO. Напомним, что в соответствии с григорианским календарем, год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.
i = int(input())
if (i % 4 == 0 or i % 400 == 0) and i % 100 != 0:
print("YES")
else:
print("NO")
Прошу не показать правильный ответ, а разъяснить в чём моя ошибка и почему код работает не корректно) Я только учусь, всем заранее спасибо!
Ответы (3 шт):
Автор решения: Xander
→ Ссылка
Условие нужно переписать так:
if (i % 4 == 0 and i % 100 != 0) or i % 400 == 0:
Потому что то условие, которое написали вы, проверяет, что год кратен 400 и одновременно не кратен 100, что, очевидно, не может выполняться.
Автор решения: Dmitriy Green
→ Ссылка
year = int(input())
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print("Високосный")
else:
print("Обычный")