大家好,又见面了,我是你们的朋友全栈君。
一、前言
相信很多小伙伴在学校期间都会被要求实现一个学生管理系统,很多是让用C语言实现,有的是要求Python。 这里通过python实现了一个学生管理系统,考试/交作业必备!
网上很多的学生管理系统版本是用列表来存储学生的,实际上这样并不是最好的实现方案。 既然学生的学号是唯一的,那我们可以直接使用字典来做,这样在查询学生是否存在的速度上会更快一些。而且更方便排序等。
<<点我获取完整源码,或关注左侧公众号,回复:学生
文章目录
- 一、前言
- 二、实现效果
- 三、代码特点
- 四、总结
二、实现效果
包含的功能(学号为唯一标识):
- 添加学生
- 修改学生信息
- 删除学生信息
- 查询单个学生信息
- 查询所有学生信息
还做了一些保护判断:
- 输入错误的序号会给予提示;
- 创建已存在学号的学生会提示“已存在”;
- 删除/修改不存在的学生会提示“不存在”;
<<点我获取完整源码,或关注左侧公众号,回复:学生
三、代码特点
上图菜单页的功能映射传递的实现方案往往更多的是下面这样:
代码语言:javascript复制 key = int(input("请选择功能(序号):"))
if key==1: # key等于1时,调用增加学生的方法
add_new_student()
elif key==2:
del_student()
elif key==3:
update_student()
else:
exit()
通过if else 判断key值来调用不同的方法,这样有个不好的地方是,当方法越来越多后,代码量也会增加不少,所以这里我使用了字典里面包含方法的方式来实现:
代码语言:javascript复制 func_dict = {
1: add_new_student, 2: del_student, 3: update_student, 4: search_student, 5: print_all_student, 6: exit}
key = int(input("请选择功能(序号):"))
func = func_dict.get(key)
func() if func else print('输入错误!请重新输入!' space)
这样哪怕增加的方法越来越多,也不会增加更多的代码。
四、总结
整个代码内容不多,实现也很简单,在我大学的时候,老师要求我们用C语言来写,现在越来越多的要求python了,用pytho实现比C语言会简单不少,毕竟语法简洁很多。 小伙伴们拿到源码后可自己进行diy,实现诸如排序、密码管理,批量操作的功能等。
最近在写的《从0实现自动化测试平台》专栏欢迎关注:
专栏教程地址:《从0实现自动化测试平台》 项目在线演示地址:http://121.43.43.59/ (帐号:admin 密码:123456)
本专栏会基于django react,并结合这些年自己构建多个自动化测试平台的经验,从0开始,一步一步教会你实现一个完备的商用级自动化测试平台,真正意义上能够降本增效创造价值的平台。