'''【课后作业要求】 生肖计算助手 要求: 1.窗口内有标签、单行文本输入框、提交按钮 2.输入正确的年份(1900-2100)后会弹出对话框显示生肖 3.输入的年份不在范围内或者不是数字格式,会弹出错误对话框 注意:判断生肖的函数check(year)已经预置好,可以直接调用;组件的位置可以自行调整,合理美观即可。''' import tkinter as tk from tkinter import messagebox root = tk.Tk() root.geometry("300x200+600+300") root.title("生肖计算助手") # 预置内容,请勿改动 def check(year): sx = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"] idx = (year - 1900) % 12 return sx[idx] def click(): year = entry_year.get() if not year.isdigit(): messagebox.showerror("输入错误", "请输入有效的年份数值") year = int(year) if year < 1900 or year > 2100: messagebox.showerror("输入错误", "请输入有效的年份数值") result = check(year) messagebox.showinfo("属相", f"您的生肖是:{result}") label_year = tk.Label(root, text='出生年份:') label_year.grid(row=0, column=0, padx=20, pady=50) entry_year = tk.Entry(root) entry_year.grid(row=0, column=1, pady=50) btn = tk.Button(root, text='提交', command=click) btn.grid(row=1, columnspan=2, padx=(60, 0)) root.mainloop()