[Python急救站]含义GUI的学生管理系统
这个管理系统是含有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的学生管理系统的更多相关文章
- Python连接SqlServer+GUI嵌入式——学生管理系统1.0
学生管理系统1.0 1.建学生数据库 2.数据库嵌入高级语言(Python) 3.界面设计 简化思路: 1.先通过SqlServer2012建立学生数据库,包括账号.密码,姓名.选课等信息 2.运用P ...
- python课程设计--学生管理系统
系统要求 1.添加学生 2.删除学生 3.修改学生信息 4.查询学生 5.查看所有学生信息 6.学生信息数据的存储与读取 源码:student.py #coding:utf-8 2 #定义学员类 3 ...
- Django_学生管理系统
一. Django简易学生管理系统 1.在pycharm中创建工程student_manage_system,添加app:student_manage 2.配置静态文件:在工程项目目录下新建目录sta ...
- 如何用python做出老师看了都给满分的GUI学生管理系统毕设
序 言 哈喽大家好鸭!我是小熊猫 最近有什么有趣的事情发生吗?快来说给我听听( •̀ ω •́ )✧表弟大学快毕业了,学了一个学期Python居然还不会写学生管理系统,真的给我丢脸啊,教他又不肯学,还 ...
- python开发的学生管理系统
python开发的学生管理系统(基础版) #定义一个函数,显示可以使用的功能列表给用户 def showInfo(): print("-"*30) print(" 学生管 ...
- 用python实现简易学生管理系统
以前用C++和Java写过学生管理系统,也想用Python试试,果然“人生苦短,我用Python”.用Python写的更加简洁,实现雏形也就不到100行代码. 下面上代码 #!/usr/bin/pyt ...
- python学生管理系统
import osimport re #获取本机用户名,构建student.txt文件名创建在左面import getpassusername=getpass.getuser()print(" ...
- python简易版学生管理系统
#coding=utf- def showInfo(): print("**************") print(" 学生管理系统") print(&quo ...
- 学生管理系统 Python语言
def show_student(): print(('*'*20).center(55)) print('1.添加学生信息'.center(50)) print('2.修改学生信息'.center( ...
- 学生管理系统(python实现)
# 定一个列表,用来存储所有的学生信息(每个学生是一个字典) info_list = [] def print_menu(): print("------------------" ...
随机推荐
- Python面试——基础面试题
文章目录 1.Python 和 Java.PHP.C.C#.C++等其他语言的对比? C语言既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C ...
- RLChina2022公开课-博弈搜索算法
序列决策 序列决策问题一般用马尔可夫决策模型进行描述 搜索算法的优化
- 针对Jupter Kernel error的问题解决
首先打开Anaconda Prompt 输入jupyter kernelspec list查看安装的内核和位置 到显示的的目录下面找到 kernel.josn这个文件 修改为现在的python环境路径 ...
- fread实现getchar(加速!!!)
fread实现的getchar代码: inline char get() { static char buf[100000], *p1 = buf, *p2 = buf; return p1 == p ...
- WebSocket魔法师:打造实时应用的无限可能
1.背景 在开发一些前端页面的时候,总是能接收到这样的需求:如何保持页面并实现自动更新数据呢?以往的常规做法,是前端使用定时轮询后端接口,获取响应后重新渲染前端页面,这种做法虽然能达到类似的效果,但是 ...
- P5318 查阅文献
题意大概意思就是分别用dfs与bfs遍历一个图,特殊要求是从编号小的点开始遍历. 用邻接表存图,至今我也没想明白怎么才可以从编号小的点开始遍历,明白是排序,但是不知道如何排序,题解中的排序方法是:按照 ...
- Walrus 0.4发布:单一配置、多态运行,体验下一代应用交付模型
今天,我们高兴地宣布云原生统一应用平台 Walrus 0.4 正式发布,这是一个里程碑式的版本更新.新版本采用了全新的应用模型--仅需进行单一配置,即可在多种模态的基础设施及环境中运行包括应用服务及周 ...
- 【报错:For input string: ""报错: get connection error! 报错:java.lang.NullPointerException 报错:java.lang.NumberFormatException: For input string: "id"】解决方案
原因:没有input数据进入,但是当我填写数据进入的时候 get connection error! 这个消息,是我要抛出去的异常,源代码下 我一开始觉得是代码书写的问题,找.......... 应该 ...
- 【Javaweb】Servlet十 | HttpServletResponse类和HttpServletRequest类
HttpServletResponse类的作用 HttpServletResponse类和HttpServletRequest类一样.每次请求进来,Tomcat服务器都会创建一个Response对象传 ...
- ABAP 自定义附件
SWO1 关键字 *------------------------------------------------------------* REPORT ZTEST_CSW1. *TABLES ...