У меня есть функция calendar, которая создаёт вертикальный календарь
Теперь надо написать функцию transform_calendar,которая будет трансформировать вертикальный календарь в горизонтальный.
Пробовал сплит, и потом соединял по индексам, но как-то очень инвалидно выглядит.
Как это сделать без костылей??
import calendar as cal
def calendar(month: int, year: int) -> str:
"""Return a string representing a\
horizontal calendar for the given month and year.
month : an integer in range [1 , 12]
year : an integer (strictly speaking the algorithm in weekday
works correctly only for Gregorian calendar, so year must
be greater than 1583)
when arguments are invalid raises AssertionError with corresponding
message
>>> print(calendar(8 , 2015))
mon tue wed thu fri sat sun
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
"""
result_calendar = cal.TextCalendar().formatmonth(year, month, w=3)[20:].lower()
return result_calendar[:-1]
def transform_calendar(calendar: str) -> str:
"""Return a modified horizontal -> vertical calendar.
calendar is a string of a calendar, returned by the calendar()
function.
>>> print(transform_calendar(calendar(5, 2002)))
mon 6 13 20 27
tue 7 14 21 28
wed 1 8 15 22 29
thu 2 9 16 23 30
fri 3 10 17 24 31
sat 4 11 18 25
sun 5 12 19 26
>>> print(transform_calendar(calendar(8 , 2015)))
mon 3 10 17 24 31
tue 4 11 18 25
wed 5 12 19 26
thu 6 13 20 27
fri 7 14 21 28
sat 1 8 15 22 29
sun 2 9 16 23 30
"""