一、程序功能(Function)
1、功能概述
利用python完成完成一个学生信息的增删改查程序,主要涉及知识点:程序控制结构(做多级菜单)、文件读写操作(学生信息要保存到磁盘上的文件里)。
2、思维导图
二、 学生实体(Entity)
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,所以我们将学生信息保存到文本文件里面,用空格隔开每个字段
三、读取学生文件
文件结构是由若干行若干列构成,一行一列地读取,每一行读取出来的字符串,通过空格拆分成一个列表,所有行读取出来之后就自然构成列表,即二维列表。
1、演示用二维列表保存多个学生信息创建六个列表:
student1、student2、student3、student4、student5和student6,然后添加到student是列表里
直接输出student列表
格式输出students
查看学生文件位置
切换工作目录
读取学生文件,保存到二维列表并输出
大家可以发现一个问题,每一行尾巴有个“\n”,需要去除掉才好。
格式化输出students列表
len(students) - 得到二维列表的行数
len(students[i]) - 得到二维列表第(i-1)行的元素个数,即列数
四、对学生二维列表进行增删改查操作
1、增加学生记录
目前students里有六个元素(学生)
添加一个新元素(学生)
输出更新之后的students二维列表
2、查询学生记录
(1)按学号查询学生记录
这个程序有个缺陷,如果没有查询到,就没有任何输出信息,按理应该给用户一个提示:“查无此人!”
(2)按姓名查询学生记录
3、修改学生记录
修改学号为"2020007"的学生记录,将年龄改为“20”,电话改为“110112119”
修改学号为“2020006”的学生记录,将年龄改为“16”,电话改为“119110120”
4、删除学生记录
删除学号为“2020006”的学生记录
删除学号为“2020008”的学生记录
五、将学生二维列表写入学生文件
1、将students写入学生.txt
2、查看更新之后的学生.txt
六、构建多级菜单系统
来源:oschina
链接:https://my.oschina.net/u/4389078/blog/4888061