datetime
, можно воспользоваться функцией calendar.isleap(year)
. Пример:
import calendar
year = 2024
is_leap = calendar.isleap(year)
if is_leap:
print(f"{year} - високосный год")
else:
print(f"{year} - не високосный год")
Да, можно определить, является ли год високосным, используя модуль datetime
в Python. Для этого нужно воспользоваться методом calendar.isleap()
.
Пример кода:
import calendar
def is_leap_year(year):
"""
Проверяет, является ли год високосным, используя модуль calendar.
"""
return calendar.isleap(year)
# Пример использования:
year_to_check = 2024
if is_leap_year(year_to_check):
print(f"{year_to_check} год - високосный")
else:
print(f"{year_to_check} год - не високосный")
year_to_check = 2023
if is_leap_year(year_to_check):
print(f"{year_to_check} год - високосный")
else:
print(f"{year_to_check} год - не високосный")
Альтернативный способ (без использования calendar
, но менее предпочтительный):
Хотя calendar.isleap()
является рекомендуемым способом, можно реализовать логику проверки самостоятельно, основываясь на правилах високосного года:
def is_leap_year_manual(year):
"""
Проверяет, является ли год високосным, основываясь на правилах.
"""
return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
# Пример использования:
year_to_check = 2024
if is_leap_year_manual(year_to_check):
print(f"{year_to_check} год - високосный (ручная проверка)")
else:
print(f"{year_to_check} год - не високосный (ручная проверка)")
year_to_check = 2023
if is_leap_year_manual(year_to_check):
print(f"{year_to_check} год - високосный (ручная проверка)")
else:
print(f"{year_to_check} год - не високосный (ручная проверка)")
Объяснение:
calendar.isleap(year)
: Этот метод из модуля calendar
возвращает True
, если год является високосным, и False
в противном случае. Он инкапсулирует логику определения високосного года, что делает код более читаемым и менее подверженным ошибкам.is_leap_year_manual
.Почему calendar.isleap()
предпочтительнее:
Использование calendar.isleap()
является лучшей практикой, потому что:
В заключение, для определения високосного года с использованием модуля datetime
(точнее, его подмодуля calendar
), рекомендуется использовать метод calendar.isleap(year)
.