一、前言
相信很多小伙伴在学校期间都会被要求实现一个学生管理系统,很多是让用C语言实现,有的是要求Python。
这里通过python实现了一个学生管理系统,考试/交作业必备!
网上很多的学生管理系统版本是用列表来存储学生的,实际上这样并不是最好的实现方案。
既然学生的学号是唯一的,那我们可以直接使用字典来做,这样在查询学生是否存在的速度上会更快一些。而且更方便排序等。
二、实现效果
包含的功能(学号为唯一标识):
- 添加学生
- 修改学生信息
- 删除学生信息
- 查询单个学生信息
- 查询所有学生信息
还做了一些保护判断:
- 输入错误的序号会给予提示;
- 创建已存在学号的学生会提示“已存在”;
- 删除/修改不存在的学生会提示“不存在”;
三、代码特点
上图菜单页的功能映射传递的实现方案往往更多的是下面这样:
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值来调用不同的方法,这样有个不好的地方是,当方法越来越多后,代码量也会增加不少,所以这里我使用了字典里面包含方法的方式来实现:
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,实现诸如排序、密码管理,批量操作的功能等。