python综合练习:学生管理系统

一、程序功能(Function)

1、功能概述

利用python完成完成一个学生信息的增删改查程序,主要涉及知识点:程序控制结构(做多级菜单)、文件读写操作(学生信息要保存到磁盘上的文件里)。

2、思维导图

python综合练习:学生管理系统_第1张图片

二、 学生实体(Entity)

python综合练习:学生管理系统_第2张图片

2、关系模式

学生(学号,姓名,性别,年龄,班级,专业,系部,电话)

3、学生表记录

行——记录——元组

学号 姓名 性别 年龄 班级 专业 系部 电话
2020001 陈天 19 2020级软件技术4班 软件技术 信息工程学院 111111111
2020002 李潇 19 2020级软件技术4班 软件技术 信息工程学院 111111111
2020003 陈天 19 2020级软件技术4班 软件技术 信息工程学院 111111111
2020004 陈天 19 2020级软件技术4班 软件技术 信息工程学院 111111111
2020005 陈天 19 2020级软件技术4班 软件技术 信息工程学院 111111111
2020006 陈天 19 2020级软件技术4班 软件技术 信息工程学院 111111111

这一学期我们没有学习MySQL,所以我们将学生信息保存到文本文件里面,用空格隔开每个字段
python综合练习:学生管理系统_第3张图片

三、读取学生文件

文件结构是由若干行若干列构成,一行一列地读取,每一行读取出来的字符串,通过空格拆分成一个列表,所有行读取出来之后就自然构成列表,即二维列表。

1、演示用二维列表保存多个学生信息创建六个列表:

student1、student2、student3、student4、student5和student6,然后添加到student是列表里python综合练习:学生管理系统_第4张图片

直接输出student列表python综合练习:学生管理系统_第5张图片
格式输出students
python综合练习:学生管理系统_第6张图片
python综合练习:学生管理系统_第7张图片
python综合练习:学生管理系统_第8张图片
python综合练习:学生管理系统_第9张图片
查看学生文件位置python综合练习:学生管理系统_第10张图片
切换工作目录
python综合练习:学生管理系统_第11张图片
读取学生文件,保存到二维列表并输出python综合练习:学生管理系统_第12张图片
大家可以发现一个问题,每一行尾巴有个“\n”,需要去除掉才好。
python综合练习:学生管理系统_第13张图片
格式化输出students列表python综合练习:学生管理系统_第14张图片
python综合练习:学生管理系统_第15张图片
len(students) - 得到二维列表的行数
len(students[i]) - 得到二维列表第(i-1)行的元素个数,即列数

四、对学生二维列表进行增删改查操作

1、增加学生记录

目前students里有六个元素(学生)
python综合练习:学生管理系统_第16张图片
添加一个新元素(学生)python综合练习:学生管理系统_第17张图片
输出更新之后的students二维列表python综合练习:学生管理系统_第18张图片

2、查询学生记录

(1)按学号查询学生记录

python综合练习:学生管理系统_第19张图片
这个程序有个缺陷,如果没有查询到,就没有任何输出信息,按理应该给用户一个提示:“查无此人!”
python综合练习:学生管理系统_第20张图片
python综合练习:学生管理系统_第21张图片

(2)按姓名查询学生记录

python综合练习:学生管理系统_第22张图片
python综合练习:学生管理系统_第23张图片

3、修改学生记录

修改学号为"2020007"的学生记录,将年龄改为“20”,电话改为“110112119”
python综合练习:学生管理系统_第24张图片
修改学号为“2020006”的学生记录,将年龄改为“16”,电话改为“119110120”
python综合练习:学生管理系统_第25张图片

4、删除学生记录

删除学号为“2020006”的学生记录
python综合练习:学生管理系统_第26张图片

python综合练习:学生管理系统_第27张图片
删除学号为“2020008”的学生记录python综合练习:学生管理系统_第28张图片

五、将学生二维列表写入学生文件

1、将students写入学生.txt

python综合练习:学生管理系统_第29张图片

2、查看更新之后的学生.txt

python综合练习:学生管理系统_第30张图片

六、构建多级菜单系统

你可能感兴趣的:(笔记,python)