Я расскажу вам несколько способов распечатать годовой календарь на Python. Вот три популярных подхода:
Способ 1. Использование модуля календаря
import calendar
def print_year_calendar(year):
for month in range(1, 13):
print(calendar.month_name[month])
print(calendar.monthcalendar(year, month))
print()
print_year_calendar(2023)
Метод 2. Использование модуля datetime
import datetime
def print_year_calendar(year):
for month in range(1, 13):
date = datetime.date(year, month, 1)
print(date.strftime("%B"))
while date.month == month:
print(date.strftime("%d"), end=" ")
date += datetime.timedelta(days=1)
if date.month != month:
print()
break
print()
print_year_calendar(2023)
Способ 3: использование модуля dateutil (необходимо установить)
import dateutil.relativedelta as rd
import datetime
def print_year_calendar(year):
start_date = datetime.date(year, 1, 1)
end_date = start_date + rd.relativedelta(years=1)
current_date = start_date
while current_date < end_date:
print(current_date.strftime("%B"))
while current_date.month == start_date.month:
print(current_date.strftime("%d"), end=" ")
current_date += rd.relativedelta(days=1)
if current_date.month != start_date.month:
print()
break
print()
start_date = current_date
print_year_calendar(2023)
Эти методы распечатают календарь на указанный год, используя разные подходы. Вы можете выбрать тот, который лучше всего соответствует вашим требованиям.