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

Python实现的简单日历应用程序

发布时间:2023-12-04 12:44:09

这是一个使用Python实现的简单日历应用程序。它可以显示当前月份的日历,并且可以根据用户的输入显示任意月份的日历。

以下是程序的源代码:

import calendar

def display_calendar(year, month):
    # 使用calendar模块的monthrange函数获取指定年月的第一天是星期几和这个月的天数
    first_day_of_month, num_days = calendar.monthrange(year, month)
    
    # 使用calendar模块的formatmonth函数生成指定年月的日历字符串
    cal = calendar.month(year, month)
    
    # 打印日历
    print(cal)

# 获取当前日期
import datetime
now = datetime.datetime.now()
year = now.year
month = now.month

# 显示当前月份的日历
print("当前月份的日历:")
display_calendar(year, month)

# 接受用户输入的年份和月份
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))

# 显示用户输入的年份和月份的日历
print("指定年份和月份的日历:")
display_calendar(year, month)

这个程序使用calendar模块来生成日历。display_calendar函数接受年份和月份作为参数,并使用calendar.monthrange函数获取指定年月的第一天是星期几和这个月的天数。然后,使用calendar.month函数生成指定年月的日历字符串,并通过print语句打印出来。

程序首先获取当前日期,并通过datetime.datetime.now()函数获取当前年份和月份。然后,调用display_calendar函数显示当前月份的日历。

接下来,程序使用input函数接受用户输入的年份和月份,并将其转换为整数。然后,再次调用display_calendar函数显示用户输入的年份和月份的日历。

下面是程序的输出示例:

当前月份的日历:
      五月 2022
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 31

请输入年份:2023
请输入月份:7
指定年份和月份的日历:
      七月 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
31

在示例中,首先显示了当前月份(五月 2022)的日历,然后接受用户输入了指定年份(2023)和月份(7),并显示了那个月份(七月 2023)的日历。

这个简单的日历应用程序可以通过添加一些额外的功能来进一步扩展,比如在日历上标记特殊的日期或者让用户选择查看不同年份或月份的日历。