大家好!今天咱们来聊聊如何用Python写一个学生工作管理系统。这个系统能帮学校老师记录学生的个人信息、成绩等数据,并且还能查询和修改这些信息。听起来是不是很酷?接下来我就一步步教你怎么做。
首先呢,我们需要安装一些必要的工具。比如Python环境,还有SQLite数据库。SQLite是一个轻量级的数据库,非常适合用来存储我们的学生数据。你可以直接在官网下载Python,至于SQLite,我们可以用pip安装它的一个库叫sqlite3。
第一步,我们先创建一个数据库文件。打开你的终端或者命令行工具,输入以下命令:
import sqlite3
# 连接到SQLite数据库(如果文件不存在会自动创建)
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
# 创建表格
cursor.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
grade TEXT
)
''')
# 提交事务并关闭连接
conn.commit()
conn.close()
这段代码会创建一个名为`students.db`的数据库文件,并且在这个数据库里创建了一个叫做`students`的表,里面包含id、name、age和grade四个字段。
第二步,我们要写一个界面让用户可以添加学生信息。这里我用的是Tkinter库,它是Python自带的一个图形界面开发工具包。下面这段代码展示了一个简单的添加学生信息窗口:

import tkinter as tk
from tkinter import messagebox
def add_student():
name = entry_name.get()
age = entry_age.get()
grade = entry_grade.get()
if not name or not age or not grade:
messagebox.showerror("错误", "所有字段都必须填写!")
return
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
try:
cursor.execute("INSERT INTO students (name, age, grade) VALUES (?, ?, ?)",
(name, age, grade))
conn.commit()
messagebox.showinfo("成功", f"学生 {name} 添加成功!")
except Exception as e:
messagebox.showerror("错误", str(e))
finally:
conn.close()
root = tk.Tk()
root.title("学生工作管理系统")
label_name = tk.Label(root, text="姓名:")
label_name.grid(row=0, column=0)
entry_name = tk.Entry(root)
entry_name.grid(row=0, column=1)
label_age = tk.Label(root, text="年龄:")
label_age.grid(row=1, column=0)
entry_age = tk.Entry(root)
entry_age.grid(row=1, column=1)
label_grade = tk.Label(root, text="年级:")
label_grade.grid(row=2, column=0)
entry_grade = tk.Entry(root)
entry_grade.grid(row=2, column=1)
button_add = tk.Button(root, text="添加学生", command=add_student)
button_add.grid(row=3, columnspan=2)
root.mainloop()
这段代码创建了一个GUI窗口,用户可以在文本框里输入学生的名字、年龄和年级,然后点击“添加学生”按钮来保存到数据库中。
最后,如果你想查看所有的学生信息,可以用下面这段代码:
def view_students():
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
for row in rows:
print(f"ID: {row[0]}, 姓名: {row[1]}, 年龄: {row[2]}, 年级: {row[3]}")
conn.close()
view_students()
这样你就有了一个基础的学生工作管理系统啦!虽然功能还不算特别强大,但已经足够应付日常的基本需求了。你可以继续扩展它的功能,比如增加删除和修改学生信息的功能,甚至可以加上搜索功能,让老师更快地找到特定的学生。
好了,今天的分享就到这里啦。如果你觉得有用的话,记得点赞支持哦!有什么问题也可以随时问我,咱们下次再见啦!
本站部分内容及素材来源于互联网,由AI智能生成,如有侵权或言论不当,联系必删!