帮我给下面这个程序添加注释from tkinter import from tkinter import messageboxfrom matplotlibbackendsbackend_tkagg import FigureCanvasTkAggimport matplotlibpyplot as pltimport mathdic1 = dic2 = typedic1typedic2globa
导入必要的模块
from tkinter import * from tkinter import messagebox from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg import matplotlib.pyplot as plt import math
初始化字典和计数器
dic1 = {} dic2 = {} global tot, pas tot = int(0) pas = int(0)
定义学生登录界面
class Stulogin(Frame): def init(self, master=None): super().init(master) self.master = master self.pack() self.creatWidget()
def creatWidget(self):
# 添加学生姓名标签和输入框
self.lab01 = Label(self, text="学生姓名")
self.lab01.pack()
user1 = StringVar()
self.entry01 = Entry(self, textvariable=user1)
self.entry01.pack()
# 添加学号标签和输入框
self.lab02 = Label(self, text="学号")
self.lab02.pack()
num1 = StringVar()
self.entry02 = Entry(self, textvariable=num1)
self.entry02.pack()
# 添加查询和退出按钮
self.btn03 = Button(self, text="查询", command=self.login)
self.btn03.pack()
self.btn04 = Button(self, text="退出", command=quit)
self.btn04.pack()
def login(self):
# 获取学生姓名和学号
username = self.entry01.get()
num = self.entry02.get()
# 判断学号是否存在,如果存在则显示学生信息,否则提示错误信息
if dic1.get(num) == username:
messagebox.showinfo("学生信息", "姓名:%s\n学号:%s\n成绩:%s" % (username, num, dic2.get(num)))
else:
messagebox.showinfo("错误", "学生姓名或学号输入错误!")
定义管理员登录界面
class Adminlogin(Frame): def init(self, master=None): super().init(master) self.master = master self.pack() self.creatWidget()
def creatWidget(self):
# 添加操作选择标签和按钮
self.lab01 = Label(self, text="请选择您要进行的操作:")
self.lab01.pack()
self.btn01 = Button(self, text="增加学生信息", command=self.addstu)
self.btn01.pack()
self.btn02 = Button(self, text="删除学生信息", command=self.delstu)
self.btn02.pack()
self.btn03 = Button(self, text="修改学生成绩", command=self.updstu)
self.btn03.pack()
self.btn04 = Button(self, text="查询学生信息", command=self.qurstu)
self.btn04.pack()
self.btn05 = Button(self, text="查询及格比例图", command=self.draw)
self.btn05.pack()
self.btn05 = Button(self, text="退出", command=quit)
self.btn05.pack()
def addstu(self):
# 添加增加学生信息界面
rt = Tk()
rt.geometry("500x300")
rt.title("增加学生信息")
# 添加学生姓名标签和输入框
rt.lab01 = Label(rt, text="学生姓名")
rt.lab01.pack()
v2 = StringVar()
rt.entry01 = Entry(rt, textvariable=v2)
rt.entry01.pack()
# 添加学号标签和输入框
rt.lab02 = Label(rt, text="学号")
rt.lab02.pack()
v3 = StringVar()
rt.entry02 = Entry(rt, textvariable=v3)
rt.entry02.pack()
# 添加成绩标签和输入框
rt.lab03 = Label(rt, text="成绩")
rt.lab03.pack()
v4 = StringVar()
rt.entry03 = Entry(rt, textvariable=v4)
rt.entry03.pack()
# 定义增加学生信息的函数
def adddic():
self.stuname = rt.entry01.get()
self.stunum = rt.entry02.get()
self.stugri = rt.entry03.get()
if dic1.get(self.stunum, "fault") != "fault":
messagebox.showinfo("错误", "该学号的学生信息已存在,请使用修改功能进行信息修改!")
elif int(self.stugri) < 0 or int(self.stugri) > 100:
messagebox.showinfo("错误", "输入的学生成绩有误!")
else:
dic1.setdefault(self.stunum, self.stuname)
dic2.setdefault(self.stunum, self.stugri)
global tot, pas
tot += 1
if int(self.stugri) >= 60:
pas += 1
messagebox.showinfo("新增成功", "您已将%s的信息成功录入系统!" % self.stuname)
rt.destroy()
# 添加增加按钮
rt.btn01 = Button(rt, text="增加", command=adddic)
rt.btn01.pack()
def delstu(self):
# 添加删除学生信息界面
rt = Tk()
rt.geometry("500x300")
rt.title("删除学生信息")
# 添加学号标签和输入框
rt.lab01 = Label(rt, text="学号")
rt.lab01.pack()
v2 = StringVar()
rt.entry01 = Entry(rt, textvariable=v2)
rt.entry01.pack()
# 定义删除学生信息的函数
def deldic():
self.stunum = rt.entry01.get()
self.stuname = dic1.get(self.stunum)
self.stugri = dic2.get(self.stunum)
if dic1.get(self.stunum, "fault") == "fault":
messagebox.showinfo("错误", "该学号的学生不存在!")
else:
del dic1[self.stunum]
del dic2[self.stunum]
global tot, pas
tot -= 1
if int(self.stugri) >= 60:
pas -= 1
messagebox.showinfo("删除成功", "您已将%s的信息成功删除!" % self.stuname)
rt.destroy()
# 添加删除按钮
rt.btn01 = Button(rt, text="删除", command=deldic)
rt.btn01.pack()
def updstu(self):
# 添加修改学生成绩界面
rt = Tk()
rt.geometry("500x300")
rt.title("修改学生成绩")
# 添加学号标签和输入框
rt.lab01 = Label(rt, text="学号")
rt.lab01.pack()
v2 = StringVar()
rt.entry01 = Entry(rt, textvariable=v2)
rt.entry01.pack()
# 添加新成绩标签和输入框
rt.lab02 = Label(rt, text="新成绩")
rt.lab02.pack()
v3 = StringVar()
rt.entry02 = Entry(rt, textvariable=v3)
rt.entry02.pack()
# 定义修改学生成绩的函数
def upddic():
self.stunum = rt.entry01.get()
self.rstugri = dic2.get(self.stunum)
self.stugri = rt.entry02.get()
self.stuname = dic1[self.stunum]
if dic1.get(self.stunum, "fault") == "fault":
messagebox.showinfo("错误", "该学号的学生不存在!")
else:
dic2[self.stunum] = self.stugri
global pas
if int(self.stugri) >= 60 > int(self.rstugri)
原文地址: https://gggwd.com/t/topic/e0qd 著作权归作者所有。请勿转载和采集!