大家好!今天咱们来聊聊如何用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智能生成,如有侵权或言论不当,联系必删!