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

用Python实现一个简单的日历程序

发布时间:2023-12-04 11:08:06

实现一个简单的日历程序需要用到Python的日期和时间模块datetime,以及图形用户界面模块tkinter。下面是一个简单的示例程序:

import calendar
from tkinter import *

def show_calendar():
    # 获取输入的年份和月份
    year = int(year_entry.get())
    month = int(month_entry.get())
    
    # 创建日历对象
    cal = calendar.monthcalendar(year, month)
    
    # 清空输出框
    output.delete(0.0, END)
    
    # 输出日历
    for week in cal:
        for day in week:
            if day == 0:
                output.insert(END, "   ")
            else:
                output.insert(END, "{:2d} ".format(day))
        output.insert(END, "
")

# 创建窗口
window = Tk()
window.title("Calendar Program")

# 创建年份和月份输入框
year_label = Label(window, text="Year:")
year_label.grid(row=0, column=0, padx=10, pady=10)
year_entry = Entry(window)
year_entry.grid(row=0, column=1, padx=10, pady=10)

month_label = Label(window, text="Month:")
month_label.grid(row=1, column=0, padx=10, pady=10)
month_entry = Entry(window)
month_entry.grid(row=1, column=1, padx=10, pady=10)

# 创建显示日历的输出框
output = Text(window, width=20, height=10)
output.grid(row=2, column=0, columnspan=2, padx=10, pady=10)

# 创建显示日历按钮
show_button = Button(window, text="Show Calendar", command=show_calendar)
show_button.grid(row=3, column=0, columnspan=2, padx=10, pady=10)

# 运行窗口
window.mainloop()

这个程序创建一个基本的图形用户界面,包括一个年份输入框、一个月份输入框、一个显示日历的输出框和一个显示日历的按钮。用户可以在输入框中输入年份和月份,并点击按钮来显示对应月份的日历。

输入的年份和月份被转换为整数后传递给calendar.monthcalendar(year, month)函数,该函数返回一个表示月份日历的嵌套列表。然后,程序将日历输出到输出框中。输出框中使用'

'换行并使用格式化字符串"{:2d}"来对齐输出的数字。

用户可以继续输入不同的年份和月份来查看其他月份的日历。程序使用tkinter模块创建了一个窗口,并通过window.mainloop()函数来运行窗口。