AzLearn

تمرين إعادة البناء

طابع تقويم شهر

اطبع تقويم شهر محدد مع تمييز اليوم الحالي عند مطابقته.

python ~20 دقيقة متوسط
أعد بناء الكود Rebuild

هذا هو الكود. اكتبه بنفسك.

الكود المرجعي
import argparse
import calendar
from datetime import date


def render_month(year: int, month: int) -> str:
    today = date.today()
    lines = calendar.TextCalendar(firstweekday=6).formatmonth(year, month).splitlines()
    if today.year == year and today.month == month:
        needle = f"{today.day:2}"
        lines = [line.replace(needle, f"[{today.day:02}]", 1) if needle in line else line for line in lines]
    return "\n".join(lines)


def main() -> None:
    parser = argparse.ArgumentParser(description="Print a month calendar.")
    parser.add_argument("--year", type=int, default=date.today().year)
    parser.add_argument("--month", type=int, default=date.today().month)
    args = parser.parse_args()
    print(render_month(args.year, args.month))


if __name__ == "__main__":
    main()
اكتب هنا