Python实现大学人员管理系统完整攻略
1. 确定需求
在实现大学人员管理系统之前,需要明确该系统的需求及功能,包括但不限于:
- 管理员登录系统的权限验证
- 管理员可以对学生、教师、课程进行管理(增删改查)
- 学生可以查询选课情况、个人信息等
- 教师可以查询授课情况、学生信息等
2. 设计数据库结构
为了存储和管理系统中的数据,需要设计一个数据库结构,包括表的设计、字段的定义等。下面是一个简单的示例:
学生表
字段名 | 类型 | 说明 |
---|---|---|
id | int | 学生ID(唯一主键) |
name | varchar(50) | 学生姓名 |
sex | varchar(10) | 学生性别 |
age | int | 学生年龄 |
major | varchar(50) | 学生专业 |
教师表
字段名 | 类型 | 说明 |
---|---|---|
id | int | 教师ID(唯一主键) |
name | varchar(50) | 教师姓名 |
sex | varchar(10) | 教师性别 |
age | int | 教师年龄 |
course | varchar(50) | 教师授课科目 |
课程表
字段名 | 类型 | 说明 |
---|---|---|
id | int | 课程ID(唯一主键) |
name | varchar(50) | 课程名称 |
teacher_id | int | 任课教师ID |
选课表
字段名 | 类型 | 说明 |
---|---|---|
id | int | 选课ID(唯一主键) |
student_id | int | 学生ID |
course_id | int | 课程ID |
3. 编写代码
3.1. 管理员登录
管理员登录需要输入正确的用户名和密码,这里使用一个简单的示例来演示,如下:
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'admin' and password == '123456':
print('登录成功')
else:
print('用户名或密码错误')
3.2. 学生管理
学生管理包括增删改查四个功能,以下是一个简单的示例:
# 添加学生
def add_student(conn):
cur = conn.cursor()
name = input('请输入学生姓名:')
sex = input('请输入学生性别:')
age = input('请输入学生年龄:')
major = input('请输入学生专业:')
cur.execute("INSERT INTO students (name, sex, age, major) VALUES (?, ?, ?, ?)", (name, sex, age, major))
conn.commit()
print('学生添加成功')
# 删除学生
def delete_student(conn):
cur = conn.cursor()
id = input('请输入要删除的学生ID:')
cur.execute("DELETE FROM students WHERE id=?", str(id))
conn.commit()
print('学生删除成功')
# 修改学生信息
def update_student(conn):
cur = conn.cursor()
id = input('请输入要修改的学生ID:')
name = input('请输入新的学生姓名:')
sex = input('请输入新的学生性别:')
age = input('请输入新的学生年龄:')
major = input('请输入新的学生专业:')
cur.execute("UPDATE students SET name=?, sex=?, age=?, major=? WHERE id=?", (name, sex, age, major, str(id)))
conn.commit()
print('学生信息修改成功')
# 查询学生信息
def query_student(conn):
cur = conn.cursor()
cur.execute("SELECT * FROM students")
rows = cur.fetchall()
for row in rows:
print(row)
3.3. 教师管理
教师管理也包括增删改查四个功能,以下是一个简单的示例:
# 添加教师
def add_teacher(conn):
cur = conn.cursor()
name = input('请输入教师姓名:')
sex = input('请输入教师性别:')
age = input('请输入教师年龄:')
course = input('请输入教师授课科目:')
cur.execute("INSERT INTO teachers (name, sex, age, course) VALUES (?, ?, ?, ?)", (name, sex, age, course))
conn.commit()
print('教师添加成功')
# 删除教师
def delete_teacher(conn):
cur = conn.cursor()
id = input('请输入要删除的教师ID:')
cur.execute("DELETE FROM teachers WHERE id=?", str(id))
conn.commit()
print('教师删除成功')
# 修改教师信息
def update_teacher(conn):
cur = conn.cursor()
id = input('请输入要修改的教师ID:')
name = input('请输入新的教师姓名:')
sex = input('请输入新的教师性别:')
age = input('请输入新的教师年龄:')
course = input('请输入新的教师授课科目:')
cur.execute("UPDATE teachers SET name=?, sex=?, age=?, course=? WHERE id=?", (name, sex, age, course, str(id)))
conn.commit()
print('教师信息修改成功')
# 查询教师信息
def query_teacher(conn):
cur = conn.cursor()
cur.execute("SELECT * FROM teachers")
rows = cur.fetchall()
for row in rows:
print(row)
3.4. 课程管理和选课管理
课程表和选课表的增删改查操作与学生表和教师表类似,这里就不再赘述。
4. 界面设计
界面设计是大学人员管理系统比较重要的一块,良好的界面设计能够提高用户的使用体验。在设计界面时,可以使用Python中的GUI库,例如PyQt5、wxPython、Tkinter等,以Tkinter为例,示例如下:
from tkinter import *
root = Tk()
root.title('大学人员管理系统')
root.geometry('450x300')
frame = Frame(root)
frame.pack()
Label(frame, text='欢迎来到大学人员管理系统', font=('宋体', 18)).pack(pady=10)
Button(frame, text='学生管理', font=('宋体', 16), width=12, height=2).pack(pady=10)
Button(frame, text='教师管理', font=('宋体', 16), width=12, height=2).pack(pady=10)
Button(frame, text='课程管理', font=('宋体', 16), width=12, height=2).pack(pady=10)
Button(frame, text='选课管理', font=('宋体', 16), width=12, height=2).pack(pady=10)
root.mainloop()
5. 总结
以上是Python实现大学人员管理系统的完整攻略,其中涉及到了功能需求分析、数据库设计、代码编写、界面设计等方面。在实际开发中,需要根据具体需求进行相应的修改和优化,以实现更完善的大学人员管理系统。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现大学人员管理系统 - Python技术站