这个管理系统是含有GUI界面的学生管理系统,比较方便。

import tkinter as tk

class Student:
def __init__(self, name, student_id, score):
self.name = name
self.student_id = student_id
self.score = score class StudentManager:
def __init__(self):
self.students = [] def add_student(self, student):
self.students.append(student) def find_student(self, student_id):
for student in self.students:
if student.student_id == student_id:
return student
return None def update_student_score(self, student_id, new_score):
student = self.find_student(student_id)
if student:
student.score = new_score
return True
return False def add_student():
name = name_entry.get()
student_id = student_id_entry.get()
score = float(score_entry.get())
student = Student(name, student_id, score)
manager.add_student(student)
result_label.config(text="学生成绩录入成功") def find_student():
student_id = student_id_entry.get()
student = manager.find_student(student_id)
if student:
result_label.config(text="学生姓名:" + student.name + ",学生成绩:" + str(student.score))
else:
result_label.config(text="未找到该学生") def update_student_score():
student_id = student_id_entry.get()
new_score = float(score_entry.get())
if manager.update_student_score(student_id, new_score):
result_label.config(text="成绩修改成功")
else:
result_label.config(text="未找到该学生") # 创建学生管理对象
manager = StudentManager() # 创建GUI窗口
window = tk.Tk()
window.title("学生成绩查询系统") # 创建GUI组件
name_label = tk.Label(window, text="学生姓名:")
name_label.pack()
name_entry = tk.Entry(window)
name_entry.pack() student_id_label = tk.Label(window, text="学生学号:")
student_id_label.pack()
student_id_entry = tk.Entry(window)
student_id_entry.pack() score_label = tk.Label(window, text="学生成绩:")
score_label.pack()
score_entry = tk.Entry(window)
score_entry.pack() add_button = tk.Button(window, text="录入学生成绩", command=add_student)
add_button.pack() find_button = tk.Button(window, text="查找学生成绩", command=find_student)
find_button.pack() update_button = tk.Button(window, text="修改学生成绩", command=update_student_score)
update_button.pack() result_label = tk.Label(window, text="")
result_label.pack() # 运行GUI窗口
window.mainloop()

运行结果如下:

[Python急救站]含义GUI的学生管理系统的更多相关文章

  1. Python连接SqlServer+GUI嵌入式——学生管理系统1.0

    学生管理系统1.0 1.建学生数据库 2.数据库嵌入高级语言(Python) 3.界面设计 简化思路: 1.先通过SqlServer2012建立学生数据库,包括账号.密码,姓名.选课等信息 2.运用P ...

  2. python课程设计--学生管理系统

    系统要求 1.添加学生 2.删除学生 3.修改学生信息 4.查询学生 5.查看所有学生信息 6.学生信息数据的存储与读取 源码:student.py #coding:utf-8 2 #定义学员类 3 ...

  3. Django_学生管理系统

    一. Django简易学生管理系统 1.在pycharm中创建工程student_manage_system,添加app:student_manage 2.配置静态文件:在工程项目目录下新建目录sta ...

  4. 如何用python做出老师看了都给满分的GUI学生管理系统毕设

    序 言 哈喽大家好鸭!我是小熊猫 最近有什么有趣的事情发生吗?快来说给我听听( •̀ ω •́ )✧表弟大学快毕业了,学了一个学期Python居然还不会写学生管理系统,真的给我丢脸啊,教他又不肯学,还 ...

  5. python开发的学生管理系统

    python开发的学生管理系统(基础版) #定义一个函数,显示可以使用的功能列表给用户 def showInfo(): print("-"*30) print(" 学生管 ...

  6. 用python实现简易学生管理系统

    以前用C++和Java写过学生管理系统,也想用Python试试,果然“人生苦短,我用Python”.用Python写的更加简洁,实现雏形也就不到100行代码. 下面上代码 #!/usr/bin/pyt ...

  7. python学生管理系统

    import osimport re #获取本机用户名,构建student.txt文件名创建在左面import getpassusername=getpass.getuser()print(" ...

  8. python简易版学生管理系统

    #coding=utf- def showInfo(): print("**************") print(" 学生管理系统") print(&quo ...

  9. 学生管理系统 Python语言

    def show_student(): print(('*'*20).center(55)) print('1.添加学生信息'.center(50)) print('2.修改学生信息'.center( ...

  10. 学生管理系统(python实现)

    # 定一个列表,用来存储所有的学生信息(每个学生是一个字典) info_list = [] def print_menu(): print("------------------" ...

随机推荐

  1. 文心一言 VS 讯飞星火 VS chatgpt (107)-- 算法导论10.1 5题

    五.用go语言,栈插入和删除元素只能在同一端进行,队列的插入操作和删除操作分别在两端进行,与它们不同的,有一种双端队列(deque),其插入和删除操作都可以在两端进行.写出4个时间均为 O(1)的过程 ...

  2. ChatGPT — Release Notes

    ChatGPT - Release Notes The latest update for ChatGPT Written by Natalie. Updated yesterday Release ...

  3. 数据结构与算法 | 数组(Array)

    数组(Array) 数组(Array)应该是最基础的数据结构之一,它由相同类型的元素组成的集合,并按照一定的顺序存储在内存中.每个元素都有一个唯一的索引,可以用于访问该元素. // java 数组示例 ...

  4. docker入门加实战—网络

    docker入门加实战-网络 我们运行了一些容器,但是这些容器是否能够进行连通呢?那我们就来试一下. 我们查看一下MySQL容器的详细信息: 主要关注,Networks.bridge.IPAddres ...

  5. C#学习笔记--进阶

    C#进阶 简单数据结构类 ArrayList 元素类型以Object类型存储,支持增删查改的数组容器. 因而存在装箱拆箱操作,谨慎使用. //ArrayList ArrayList array=new ...

  6. 再学Blazor——组件

    Blazor 应用基于组件,组件可以复用和嵌套.本文内容如下: 组件类 组件嵌套 组件参数 组件对象 1. 组件类 所有组件都是继承 ComponentBase 组件基类,razor 文件默认继承 C ...

  7. Redis常用命令-实战篇

    目录 写在前面 连接操作命令 持久化 远程服务控制 对value操作的命令 操作字符串String命令 List Set Hash 写在前面 java 操作 redis 太常见了,基本上有需要的系统, ...

  8. 【PySide6】QChart笔记(二)—— QBarSeries的使用

    一.QBarSeries简介 1. 官方描述 https://doc.qt.io/qtforpython-6/PySide6/QtCharts/QBarSeries.html [译注:官方文档内容过于 ...

  9. nodejs 实现MQTT协议的服务器端和客户端的双向交互

    一.项目背景 公司和第三方合作开发一个传感器项目,想要通过电脑或者手机去控制项目现场的传感器控制情况.现在的最大问题在于,现场的边缘终端设备接入的公网方式是无线接入,无法获取固定IP,所以常规的HTT ...

  10. 算法训练 字符串的展开(isdigit与islower的发现)

    在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h"或者"4-8"的字串,我 ...