欢迎访问宙启技术站
智能推送

使用Python编写的简单日历应用程序

发布时间:2023-12-04 10:27:05

以下是一个使用Python编写的简单日历应用程序的示例代码:

import calendar

def print_calendar(year, month):
    cal = calendar.calendar(year)
    print(f"Calendar for {year}:")
    print(cal)

def print_month_calendar(year, month):
    cal = calendar.monthcalendar(year, month)
    month_name = calendar.month_name[month]
    print(f"Calendar for {month_name} {year}:")
    print("Mo Tu We Th Fr Sa Su")
    for week in cal:
        week_str = [str(day) if day != 0 else "  " for day in week]
        print(" ".join(week_str))

def main():
    prompt = "Select an option:
1. Print calendar for a year
2. Print calendar for a month
"
    choice = input(prompt)
    
    if choice == "1":
        year = int(input("Enter the year: "))
        print_calendar(year)
    elif choice == "2":
        year = int(input("Enter the year: "))
        month = int(input("Enter the month (1-12): "))
        print_month_calendar(year, month)
    else:
        print("Invalid choice")

if __name__ == "__main__":
    main()

使用例子:

1. 打印整年日历

Select an option:
1. Print calendar for a year
2. Print calendar for a month
1
Enter the year: 2023
Calendar for 2023:
                                  2023

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                   1             1  2  3  4  5                1  2  3  4  5
 2  3  4  5  6  7  8       6  7  8  9 10 11 12       6  7  8  9 10 11 12
 9 10 11 12 13 14 15      13 14 15 16 17 18 19      13 14 15 16 17 18 19
16 17 18 19 20 21 22      20 21 22 23 24 25 26      20 21 22 23 24 25 26
23 24 25 26 27 28 29      27 28                     27 28 29 30 31
30 31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2             1  2  3  4  5                   1  2  3  4
 3  4  5  6  7  8  9       6  7  8  9 10 11 12       5  6  7  8  9 10 11
10 11 12 13 14 15 16      13 14 15 16 17 18 19      12 13 14 15 16 17 18
17 18 19 20 21 22 23      20 21 22 23 24 25 26      19 20 21 22 23 24 25
24 25 26 27 28 29 30      27 28 29 30 31            26 27 28 29 30
                        June
 Mo Tu We Th Fr Sa Su
                   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

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6                   1  2  3
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       4  5  6  7  8  9 10
10 11 12 13 14 15 16      14 15 16 17 18 19 20      11 12 13 14 15 16 17
17 18 19 20 21 22 23      21 22 23 24 25 26 27      18 19 20 21 22 23 24
24 25 26 27 28 29 30      28 29 30 31               25 26 27 28 29 30
31

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                   1             1  2  3  4  5                   1  2  3
 2  3  4  5  6  7  8       6  7  8  9 10 11 12       4  5  6  7  8  9 10
 9 10 11 12 13 14 15      13 14 15 16 17 18 19      11 12 13 14 15 16 17
16 17 18 19 20 21 22      20 21 22 23 24 25 26      18 19 20 21 22 23 24
23 24 25 26 27 28 29      27 28 29 30               25 26 27 28 29 30 31
30 31

2. 打印特定月份的日历

Select an option:
1. Print calendar for a year
2. Print calendar for a month
2
Enter the year: 2023
Enter the month (1-12): 9
Calendar for September 2023:
Mo Tu We Th Fr Sa Su
              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

这个简单的日历应用程序使用了Python内置的calendar模块来生成和打印日历。用户可以选择打印整年日历或者特定月份的日历。