Курс Python → Печать месячного календаря
Для распечатывания ежемесячного календаря в Python можно воспользоваться функцией calendar.monthcalendar(year, month), которая возвращает список списков, представляющих календарь для указанного года и месяца. Каждый внутренний список представляет неделю, а нулевые элементы в неделях, где месяц не начинается или заканчивается, равны 0.
import calendar
def print_month_calendar(year, month):
cal = calendar.monthcalendar(year, month)
for week in cal:
print(week)
Пример кода выше демонстрирует функцию print_month_calendar, которая принимает год и месяц в качестве аргументов, использует функцию calendar.monthcalendar для получения календаря и затем печатает его. Теперь можно вызвать эту функцию с нужным годом и месяцем для вывода календаря на экран.
Для улучшения визуального представления календаря можно добавить форматирование и разделители между неделями. Например, можно использовать символы для обозначения дней недели (Пн, Вт, Ср и т.д.) и добавить горизонтальные линии для разделения недель.
import calendar
def print_month_calendar(year, month):
cal = calendar.monthcalendar(year, month)
print("Mo Tu We Th Fr Sa Su")
print("--------------------")
for week in cal:
print(" ".join(str(day) if day != 0 else " " for day in week))
Этот улучшенный код добавляет строку с днями недели и горизонтальную линию для разделения недель в календаре. Теперь при вызове функции print_month_calendar будет выводиться календарь с днями недели и разделителями для улучшения читаемости.
Другие уроки курса "Python"
- Создание Telegram-бота на Python
- Python и Монти Пайтон
- Очистка входных данных
- Перевод эмодзи и эмотиконов.
- Объединение списков в Python
- Нахождение отличий в списках
- Вызов функций по строке в Python.
- Функция zip() в Python
- Взаимодействие с внешними процессами в Python
- Удаление специальных символов с помощью re.sub
- Работа со словарями в Python
- Профилирование кода
- Поиск подстроки в строке
- Работа с кортежами в Python
- Python: динамическая типизация и проверка типов
- Взаимодействие с sys
- Декораторы в Python
- Замена текста с re.sub()
- Функция reversed() в Python
- Основы Python
- Сглаживание списка
- Работа с очередями в Python
- Подсчет частотности элементов в Python
- Работа с deque из collections
- Поиск анаграмм с Counter
- Нарезка списков в Python
- Библиотека Emoji: использование смайлов в Python
- Проверка строки на палиндром
- Цикл for в Python
- Преобразование чисел в Python
- Python-dateutil — работа с датами
- Работа с zip-архивами в Python
- Оптимизация памяти с __slots__
- Python enumerate() функции
- %pinfo: получение информации об объекте
- Значения по умолчанию в Python
- Переопределение метода len
- Измерение времени выполнения
- Импорт модулей в Python 3.12
- Многопоточность и асинхронное программирование в Python
- Особенности множеств в Python
- Частичное совпадение пользовательского ввода в Python 3.10
- Генераторы в Python
- Сериализация и десериализация объектов
- Проверка окончания строки с помощью str.endswith()
- Функция divmod() в Python
- Работа с IP-адресами в Python















