Проверка на високосный год в python (3 способа)

Статьи

Введение

Рассмотрим три способа проверки года на високосность с помощью python.

Високосный год — календарный год, содержащий в солнечных календарях дополнительный день, в лунно-солнечных календарях — дополнительный месяц для синхронизации с астрономическим, или сезонным, годом.

Первый способ

В данном варианте программы мы с Вами напишем программу с более подробным и понятным кодом.

Для начала создадим переменную year, в которую пользователь будет вводить проверяемый год:

year = int(input('Введите год: '))
Високосным годом является тот год, который нацело делится на 4, кроме столетий (исключением являются столетия делящиеся на 400).

Далее создадим условие, в котором проверим, если год делится на 4 без остатка, то он является не високосным:

if year % 4 != 0:
    print('Год не високосный.')

Теперь добавим elif, в котором проверим, делится ли год на 100 без остатка. Если да, то сработает условие, в котором проверяется делимость года на 400 без остатка, а если же нет, то сработает else. После elif тоже будет идти else, выводящее сообщение о високосности года.

Код:

elif year % 100 == 0:
    if year % 400 == 0:
        print('Год високосный.')
    else:
        print('Год не високосный.')
else:
    print('Год високосный.')

Проверка

И так, проверим работоспособность программы, введём в консоль 2020 год, которяый является високосным:

Ввод >> Введите год: 2020
Вывод >> Год високосный.

Теперь введём 2022 год, не являющийся високосным:

Ввод >> Введите год: 2022
Вывод >> Год не високосный.

Полный код программы:

year = int(input('Введите год: '))

if year % 4 != 0:
    print('Год не високосный.')

elif year % 100 == 0:
    if year % 400 == 0:
        print('Год високосный.')
    else:
        print('Год не високосный.')
else:
    print('Год високосный.')

Второй способ

Во втором способе мы значительно сократим код.

В коде будет производиться проверка на деление года нацело на 4, или 400, а так же на кратность 100:

year = int(input('Введите год: '))

if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print('Год високосный.')
else:
    print('Год не високосный.')

Проверка

Произведём те же проверки, что и в первом способе:

Ввод >> Введите год: 2020
Вывод >> Год високосный.
Ввод >> Введите год: 2022
Вывод >> Год не високосный.

Третий способ

В третьем способе воспользуемся модулем calendar. В модуле calendar есть функция isleap(), возвращающая True, если год високосный и False если нет.

Код:

import calendar
year = int(input('Введите год: '))

if calendar.isleap(year):
    print('Год високосный.')
else:
    print('Год не високосный.')

Проверка

Для разнообразия проверим 2024 год, являющийся високосным и 2025, не являющийся високосным.

Ввод >> Введите год: 2024
Вывод >> Год високосный.
Ввод >> Введите год: 2025
Вывод >> Год не високосный.

Заключение

В статье мы с Вами разобрали 3 способа проверки года на високосность с помощью python.

Спасибо всем, кто читал, удачи Вам 😉

Admin
Admin
IT Start
Добавить комментарий

  1. Аватар
    Максим

    А можно ли использовать для решения такой код ?

    year = int(input())
    if year % 4 == 0:
    print(«Год високосный.»)
    else:
    print(«Год не високосный.»)

    Ответить
    1. Аватар
      чел ты

      нет, нельзя

      Ответить