【Python课程设计】学生成绩管理系统
1、需求分析
- 通过类的知识实现学生成绩信息(学号、姓名、院系、三门课成绩、考试平均成绩、同学互评分、任课教师评分、综合测评总分,其中综合测评总分由:考试平均成绩70%,同学互评分10%,任课教师评分20% );
- 能够实现学生成绩信息的保存和读取(使用数据库对数据进行存取);
- 实现所有相关信息的输入、输出、查找、删除、修改等功能;
- 系统界面应至少实现控制台界面(使用桌面窗体界面进行交互);
- 通过xlrd和xlwt模块读取和写入Excel文件;
2、功能设计与分析
1、使用数据库对数据进行存取
(1)使用PyMySQL模块操作数据库对数据进行存取
先安装PyMySQL模块:pip install PyMySQL
,再使用时直接导入即可:import pymysql
;
(2)创建数据库school,创建数据表student_sore、teacher_login
可以使用Navicat for MySQL创建,也可以使用预处理语句创建表,若不存在则创建,若存在则跳过;
(3)使用xlrd模块从Excel文件中读取数据到数据库
先安装xlrd模块:pip install xlrd
,再使用时直接导入即可:import xlrd
;
打开一个Excel文件,通过sheet的索引获取sheet表,循环获取每个单元格的值,一行一行读取到数据库表中。
(4)定义一个PyMySQL增删改查的工具类PyMySQLUtils
- 1)
def __init__(self)
获取连接:打开数据库的连接,使用cursor()方法获取操作游标;
- 2)
def fetchall(self, sql)
查询获取多条数据:使用execute()方法执行SQL语句,使用fetchall()方法获取多条数据;
- 3)
def fetchone(self, sql)
查询获取单条数据:使用execute()方法执行SQL语句,使用fetchone()方法获取单条数据;
- 4)
def execute(self, sql)
添加删除更新操作:使用execute()方法执行SQL语句,提交到数据库执行,发生错误时回滚;