python项目练习——14.学生管理系统

这个项目可以让用户管理学生的信息,包括学生的姓名、年龄、成绩等,并提供添加、编辑、删除、查询等功能。这个项目涉及到数据库操作、用户界面设计、数据验证等方面的技术。

代码示例:

import tkinter as tk # 导入 Tkinter 库

import sqlite3 # 导入 sqlite3 库

class StudentManagementApp:

def init(self, master):

self.master = master

self.master.title('学生管理系统')

连接到数据库

self.conn = sqlite3.connect('students.db')

self.cursor = self.conn.cursor()

self.create_table()

创建界面组件

self.label_name = tk.Label(master, text='姓名:')

self.label_name.grid(row=0, column=0)

self.entry_name = tk.Entry(master)

self.entry_name.grid(row=0, column=1)

self.label_age = tk.Label(master, text='年龄:')

self.label_age.grid(row=1, column=0)

self.entry_age = tk.Entry(master)

self.entry_age.grid(row=1, column=1)

self.label_score = tk.Label(master, text='成绩:')

self.label_score.grid(row=2, column=0)

self.entry_score = tk.Entry(master)

self.entry_score.grid(row=2, column=1)

self.btn_add = tk.Button(master, text='添加', command=self.add_student)

self.btn_add.grid(row=3, column=0, columnspan=2)

self.btn_display = tk.Button(master, text='显示全部', command=self.display_students)

self.btn_display.grid(row=4, column=0, columnspan=2)

self.textbox = tk.Text(master)

self.textbox.grid(row=5, column=0, columnspan=2)

def create_table(self):

创建学生表

self.cursor.execute('''CREATE TABLE IF NOT EXISTS students (

id INTEGER PRIMARY KEY AUTOINCREMENT,

name TEXT NOT NULL,

age INTEGER,

score REAL

)''')

self.conn.commit()

def add_student(self):

name = self.entry_name.get()

age = self.entry_age.get()

score = self.entry_score.get()

if name and age and score:

插入学生数据到数据库

self.cursor.execute('INSERT INTO students (name, age, score) VALUES (?, ?, ?)', (name, age, score))

self.conn.commit()

def display_students(self):

查询所有学生数据并显示在文本框中

self.textbox.delete('1.0', tk.END)

self.cursor.execute('SELECT * FROM students')

students = self.cursor.fetchall()

for student in students:

self.textbox.insert(tk.END, f'ID: {student0}, 姓名: {student1}, 年龄: {student2}, 成绩: {student3}\n')

if name == 'main':

root = tk.Tk() # 创建主窗口

app = StudentManagementApp(root) # 创建学生管理系统应用程序实例

root.mainloop() # 运行主事件循环

代码逻辑分析:

使用 Tkinter 库创建了一个简单的图形界面学生管理系统应用程序。用户可以在输入框中输入学生的姓名、年龄、成绩,点击添加按钮将学生信息添加到数据库中,并点击显示全部按钮可以查看所有学生的信息。学生信息存储在 SQLite 数据库中,通过 sqlite3 模块进行数据库操作。

相关推荐
zhangfeng113315 分钟前
台大李宏毅老师讲解memba和类似linear atttenion 模型,笔记
开发语言·人工智能·笔记
Chris _data1 小时前
并发单词频率统计器 - 从零到完整实现(C# 实战)
开发语言·c#
idolao1 小时前
Oligo 7.60 安装教程:引物设计+Java 环境配置
java·开发语言
不知名的老吴1 小时前
Lambda表达式与新的Streams API相结合
开发语言·python
weelinking8 小时前
【产品】12_接入数据库——让数据永久保存
jvm·数据库·python·react.js·数据挖掘·前端框架·产品经理
稳联技术老娜8 小时前
DeviceNet主站怎么连接西门子PLC,Profinet网关配置手册(那智机器人)
服务器·网络·数据库
石山代码8 小时前
ArrayList / HashMap / ConcurrentHashMap
java·开发语言
这个DBA有点耶8 小时前
云上运维新挑战:当数据库不再“看得见摸得着”
数据库·sql·程序人生·云原生·运维开发·学习方法·dba
程序大视界8 小时前
【Python系列课程】Python正则表达式(下):环视、命名分组与日志实战
开发语言·python·正则表达式
TickDB9 小时前
美股行情 API 接入避坑:REST 快照、WebSocket 推送、盘前盘后数据的边界
人工智能·python·websocket·行情数据 api