文章目录
一、功能程序
1.功能概述
用Python完成一个学生信息的增删改查程序,主要涉及知识点:程序控制结构(做多级菜单)、文件读写操作(学生信息要保存到磁盘上的文件里)。
2.思维导图
二、学生实体(Entity)
1.思维导图
2.关系模式
学生(学号,姓名,性别,年龄,班级,专业,系部,电话)
- 行–记录–元组
- 列–字段–属性
3.学生表
学号 | 姓名 | 性别 | 年龄 | 班级 | 专业 | 系部 | 电话 |
---|---|---|---|---|---|---|---|
2020001 | 李晓红 | 女 | 19 | 2020级软件4班 | 软件技术 | 信息工程学院 | 15945456780 |
2020002 | 王晓刚 | 男 | 18 | 2020级软件4班 | 软件技术 | 信息工程学院 | 13890904567 |
2020003 | 唐雨涵 | 女 | 19 | 2020级软件4班 | 软件技术 | 信息工程学院 | 18878789023 |
2020101 | 张三疯 | 男 | 18 | 2020级大数据1班 | 大数据技术与运用 | 信息工程学院 | 15945456780 |
- 这学期,我们还没有学习MySQL,所以我们将学生信息保存到文本文件里,用空格来隔开每个字段。
三、读取学生文件
- 文件结构是由若干个列构成,一行一行地读取出来的字符串,通过空格拆分成一个列表,所有行读取出来之后就自然构成列表的列表,即二维列表。
- 演示用二维列表保存多个学生信息。
- 创建两个列表:student1和student2然后添加到students的列表里
1.直接输出students列表
2.格式输出students
3.切换工作目录
- 读取学生文件(注意:保存txt格式文件时,文件格式默认编码为utf-8,此格式编码在读取是会报错的,需在保存txt文件时将格式改为ANIS),之后才能保存到二维列表并输出
四、对学生二维列表进行增删改查操作
1.增加学生记录
目前students里有两个元素(学生)
- 添加一个新元素(学生)
- 输出更新之后的students二维列表
2.查询学生记录
(1)按学号查询
- 这种方法有点瑕疵:当搜索正确时,会有学生信息出现;但搜索有误时,连提示错误信息都没有。
- 所以按理搜索不当时我们应该给用户添上一个“查无此人!”
- 新方法如下:
(2)按姓名查询
3.修改学生记录
- 修改学号为"2020003"的学生记录,将年龄改为“18”,电话改为“15834345670”
4、删除学生记录
- 删除学号为“2020101”的学生记录
五、将学生二维列表写入学生文件
1、将students写入学生.txt
2、查看更新之后的学生.txt
六、构建学生信息管理多级菜单系统
(一)构建多级菜单系统
-
编写程序 - 学生信息管理.py
-
运行程序,查看效果
(二)实现学生信息管理功能模块
1、编写查询全部学生记录功能
-
编写get_all_students()、display_all_students()函数
-
启动程序,查看效果
2、编写增加学生记录功能
-
编写add_student()函数代码
-
启动程序,查看效果