帮我给下面这个程序添加注释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 著作权归作者所有。请勿转载和采集!