Введение
Рассмотрим три способа проверки года на високосность с помощью python.
Високосный год — календарный год, содержащий в солнечных календарях дополнительный день, в лунно-солнечных календарях — дополнительный месяц для синхронизации с астрономическим, или сезонным, годом.
Первый способ
В данном варианте программы мы с Вами напишем программу с более подробным и понятным кодом.
Для начала создадим переменную year, в которую пользователь будет вводить проверяемый год:
year = int(input('Введите год: '))
Далее создадим условие, в котором проверим, если год делится на 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.
Спасибо всем, кто читал, удачи Вам 😉
А можно ли использовать для решения такой код ?
year = int(input())
if year % 4 == 0:
print(«Год високосный.»)
else:
print(«Год не високосный.»)
нет, нельзя