← Все вопросы

Год високосный или нет — как проверить в коде?

Задан 10 месяцев назад1.2к просмотров2 ответа
6

Делаю программку с календарём. Как правильно проверить, високосный ли год? Помню что-то про деление на 4, но там вроде есть исключения с сотнями.

2 ответа

12
✓ Принятый ответ — помог автору

Правило такое: год високосный, если делится на 4, но годы, кратные 100, високосные только если делятся ещё и на 400.

То есть 2000 — високосный, а 1900 — нет.

year = 2024
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
    print('високосный')
else:
    print('обычный')

Здесь снова главный инструмент — остаток %: «делится без остатка» значит % ... == 0.

4

Если не хочется помнить правило, в стандартной библиотеке есть готовая функция:

import calendar
print(calendar.isleap(2024))  # True

Но на контрольной/ЕГЭ лучше уметь писать условие руками — его как раз любят спрашивать.

Ваш ответ

Войдите, чтобы ответить на вопрос.