Проверка високосного года Python

Определите, является ли год високосным, используя стандартные проверки делимости в Python.

Попробуйте в редакторе

Обзор

Високосный год содержит 366 дней вместо 365, плюс к февралю добавлен дополнительный день. Приходится синхронизировать календарный год с астрономическим годом.

Правило гласит, что год является високосным, если он делится на 4, за исключением столетних лет (годов, оканчивающихся на 00), которые также должны делиться на 400.

Этот расчет реализован в Python с использованием комбинированных логических операторов («и», «или») и операторов по модулю.

Код и вывод выполнения

Алгоритм на основе делимости для проверки нескольких лет испытаний, включая столетия.

def is_leap_year(year):
    # A year is leap if it is divisible by 4
    # and (not divisible by 100 or divisible by 400)
    return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)

years = [2000, 2004, 1900, 2023, 2024]
for y in years:
    status = "Leap Year" if is_leap_year(y) else "Not a Leap Year"
    print(f"Year {y}: {status}")
Терминальный выход
Year 2000: Leap Year
Year 2004: Leap Year
Year 1900: Not a Leap Year
Year 2023: Not a Leap Year
Year 2024: Leap Year

Пошаговая реализация

  • Проверка модулей планирования, календаря и даты и времени
  • Точное определение разницы в возрасте или датах
  • Формулы расчета финансов и процентов

Часто задаваемые вопросы

Почему 1900 год не был високосным?

Несмотря на то, что 1900 делится на 4, он заканчивается на 00 (вековой год), поэтому, чтобы быть високосным, он должен делиться на 400. Поскольку 1900/400 – это не целое число, это не високосный год.

Связанные темы