实现的对学生信息(姓名、年龄、电话号)的增删改查功能。
一、学生管理系统基本框架
首先,我们先写出整个系统的大致框架,如下:
def print_info(): print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息') print('6: 退出系统') print('-' * 20) def main(): while True: print_info() num = input('请输入您的选项:') if num == "1": pass elif num == "2": pass elif num == '3': pass elif num == '4': pass elif num == '5': pass elif num == '6': print("谢谢使用!!!") return else: print('输入的不正确!!!') input("请按回车继续!!!") if __name__ == '__main__': main()
二、添加学生
接下来,我们实现第一个添加学生功能,如下:
# 存储学生信息 student_info_list = [{"name": "老王", "age": 18, "tel": 110},{"name": "老李", "age": 18, "tel": 120}] def print_info(): """显示菜单""" print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息') print('6: 退出系统') print('-' * 20) def add_student_info(): """添加学生""" global student_info_list # 获取要添加的人的电话 add_tel = int(input('请输入要添加的人的电话:')) # 判断是否存在这个学生 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == add_tel: print('此人已存在!!!') return # 确定了所有的学生的电话都不重复 else: add_name = input("请输入要添加的人的姓名:") add_age = int(input("请输入要添加的人的年龄:")) # 存储新的学生的信息 my_dict = {} my_dict["name"] = add_name my_dict["age"] = add_age my_dict["tel"] = add_tel # 添加到列表中 student_info_list.append(my_dict) print('添加成功') def main(): """主函数, 控制流程的""" while True: print_info() num = input('请输入您的选项:') if num == "1": add_student_info() elif num == "2": pass elif num == '3': pass elif num == '4': pass elif num == '5': show_all_info() elif num == '6': print("谢谢使用!!!") return else: print('输入的不正确!!!') input("请按回车继续!!!") if __name__ == '__main__': main()
三、显示所有学生信息
添加信息之后,我们再编写显示所有学生的信息部分,如下:
# 存储学生信息 student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}] def print_info(): """显示菜单""" print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息') print('6: 退出系统') print('-' * 20) def add_student_info(): """添加学生""" global student_info_list # 获取要添加的人的电话 add_tel = int(input('请输入要添加的人的电话:')) # 判断是否存在这个学生 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == add_tel: print('此人已存在!!!') return # 确定了所有的学生的电话都不重复 else: add_name = input("请输入要添加的人的姓名:") add_age = int(input("请输入要添加的人的年龄:")) # 存储新的学生的信息 my_dict = {} my_dict["name"] = add_name my_dict["age"] = add_age my_dict["tel"] = add_tel # 添加到列表中 student_info_list.append(my_dict) print('添加成功') def show_all_info(): """显示所有的学生信息""" # i ==> {"name": "老王", "age": 18, "tel": 110} print("姓名\t年龄\t电话") for i in student_info_list: print(f"{i['name']}\t{i['age']}\t{i['tel']}") def main(): """主函数, 控制流程的""" while True: print_info() num = input('请输入您的选项:') if num == "1": add_student_info() elif num == "2": pass elif num == '3': pass elif num == '4': pass elif num == '5': show_all_info() elif num == '6': print("谢谢使用!!!") return else: print('输入的不正确!!!') input("请按回车继续!!!") if __name__ == '__main__': main()
四、删除学生信息
接下来,我们开始编写删除学生信息部分,如下:
# 存储学生信息 student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}] def print_info(): """显示菜单""" print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息') print('6: 退出系统') print('-' * 20) def add_student_info(): """添加学生""" global student_info_list # 获取要添加的人的电话 add_tel = int(input('请输入要添加的人的电话:')) # 判断是否存在这个学生 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == add_tel: print('此人已存在!!!') return # 确定了所有的学生的电话都不重复 else: add_name = input("请输入要添加的人的姓名:") add_age = int(input("请输入要添加的人的年龄:")) # 存储新的学生的信息 my_dict = {} my_dict["name"] = add_name my_dict["age"] = add_age my_dict["tel"] = add_tel # 添加到列表中 student_info_list.append(my_dict) print('添加成功') def show_all_info(): """显示所有的学生信息""" # i ==> {"name": "老王", "age": 18, "tel": 110} print("姓名\t年龄\t电话") for i in student_info_list: print(f"{i['name']}\t{i['age']}\t{i['tel']}") def del_student_info(): """删除学生信息""" global student_info_list del_tel = int(input("请输入要删除的人的电话:")) # 判断这个人是否存在 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == del_tel: student_info_list.remove(i) print("删除完毕") return else: print('查无此人!!!') def main(): """主函数, 控制流程的""" while True: print_info() num = input('请输入您的选项:') if num == "1": add_student_info() elif num == "2": del_student_info() elif num == '3': pass elif num == '4': pass elif num == '5': show_all_info() elif num == '6': print("谢谢使用!!!") return else: print('输入的不正确!!!') input("请按回车继续!!!") if __name__ == '__main__': main()
五、修改学生信息
接下来,我们思考怎样实现修改学生信息,代码如下:
# 存储学生信息 student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}] def print_info(): """显示菜单""" print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息') print('6: 退出系统') print('-' * 20) def add_student_info(): """添加学生""" global student_info_list # 获取要添加的人的电话 add_tel = int(input('请输入要添加的人的电话:')) # 判断是否存在这个学生 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == add_tel: print('此人已存在!!!') return # 确定了所有的学生的电话都不重复 else: add_name = input("请输入要添加的人的姓名:") add_age = int(input("请输入要添加的人的年龄:")) # 存储新的学生的信息 my_dict = {} my_dict["name"] = add_name my_dict["age"] = add_age my_dict["tel"] = add_tel # 添加到列表中 student_info_list.append(my_dict) print('添加成功') def show_all_info(): """显示所有的学生信息""" # i ==> {"name": "老王", "age": 18, "tel": 110} print("姓名\t年龄\t电话") for i in student_info_list: print(f"{i['name']}\t{i['age']}\t{i['tel']}") def del_student_info(): """删除学生信息""" global student_info_list del_tel = int(input("请输入要删除的人的电话:")) # 判断这个人是否存在 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == del_tel: student_info_list.remove(i) print("删除完毕") return else: print('查无此人!!!') def change_student_info(): """修改学生信息""" change_tel = int(input("请输入要修改的学生的电话:")) # 判断这个人是否存在 # i => {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == change_tel: # 获取要修改的信息 change_name = input("请输入修改后的姓名:") change_age = input("请输入修改后的年龄:") change_tel = input("请输入修改后的电话:") # 修改信息 i["name"] = change_name i["age"] = change_age i["tel"] = change_tel print("修改完毕!!!") return else: print("查无此人!!!") def main(): """主函数, 控制流程的""" while True: print_info() num = input('请输入您的选项:') if num == "1": add_student_info() elif num == "2": del_student_info() elif num == '3': change_student_info() elif num == '4': pass elif num == '5': show_all_info() elif num == '6': print("谢谢使用!!!") return else: print('输入的不正确!!!') input("请按回车继续!!!") if __name__ == '__main__': main()
六、查询某个学生信息
最后,我们来实现最后一个查询某个学生信息功能,如下:
# 存储学生信息 student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}] def print_info(): """显示菜单""" print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息') print('6: 退出系统') print('-' * 20) def add_student_info(): """添加学生""" global student_info_list # 获取要添加的人的电话 add_tel = int(input('请输入要添加的人的电话:')) # 判断是否存在这个学生 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == add_tel: print('此人已存在!!!') return # 确定了所有的学生的电话都不重复 else: add_name = input("请输入要添加的人的姓名:") add_age = int(input("请输入要添加的人的年龄:")) # 存储新的学生的信息 my_dict = {} my_dict["name"] = add_name my_dict["age"] = add_age my_dict["tel"] = add_tel # 添加到列表中 student_info_list.append(my_dict) print('添加成功') def show_all_info(): """显示所有的学生信息""" # i ==> {"name": "老王", "age": 18, "tel": 110} print("姓名\t年龄\t电话") for i in student_info_list: print(f"{i['name']}\t{i['age']}\t{i['tel']}") def del_student_info(): """删除学生信息""" global student_info_list del_tel = int(input("请输入要删除的人的电话:")) # 判断这个人是否存在 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == del_tel: student_info_list.remove(i) print("删除完毕") return else: print('查无此人!!!') def change_student_info(): """修改学生信息""" change_tel = int(input("请输入要修改的学生的电话:")) # 判断这个人是否存在 # i => {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == change_tel: # 获取要修改的信息 change_name = input("请输入修改后的姓名:") change_age = input("请输入修改后的年龄:") change_tel = input("请输入修改后的电话:") # 修改信息 i["name"] = change_name i["age"] = change_age i["tel"] = change_tel print("修改完毕!!!") return else: print("查无此人!!!") def search_student_info(): """查询一个学生的信息""" search_tel = int(input("请输入要查询的学生的电话:")) for i in student_info_list: if i["tel"] == search_tel: print(f"姓名:{i['name']} 年龄:{i['age']} 电话:{i['tel']}") return else: print("查无此人!!!") def main(): """主函数, 控制流程的""" while True: print_info() num = input('请输入您的选项:') if num == "1": add_student_info() elif num == "2": del_student_info() elif num == '3': change_student_info() elif num == '4': search_student_info() elif num == '5': show_all_info() elif num == '6': print("谢谢使用!!!") return else: print('输入的不正确!!!') input("请按回车继续!!!") if __name__ == '__main__': main()
七、最终的学生管理系统
将各个模块合并在一起,构成完整的学生管理系统。
# 存储学生信息 student_info_list = [] def print_info(): """显示菜单""" print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息') print('6: 退出系统') print('-' * 20) def add_student_info(): """添加学生""" global student_info_list # 获取要添加的人的电话 add_tel = int(input('请输入要添加的人的电话:')) # 判断是否存在这个学生 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == add_tel: print('此人已存在!!!') return # 确定了所有的学生的电话都不重复 else: add_name = input("请输入要添加的人的姓名:") add_age = int(input("请输入要添加的人的年龄:")) # 存储新的学生的信息 my_dict = {} my_dict["name"] = add_name my_dict["age"] = add_age my_dict["tel"] = add_tel # 添加到列表中 student_info_list.append(my_dict) print('添加成功') def show_all_info(): """显示所有的学生信息""" # i ==> {"name": "老王", "age": 18, "tel": 110} print("姓名\t年龄\t电话") for i in student_info_list: print(f"{i['name']}\t{i['age']}\t{i['tel']}") def del_student_info(): """删除学生信息""" global student_info_list del_tel = int(input("请输入要删除的人的电话:")) # 判断这个人是否存在 # i ==> {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == del_tel: student_info_list.remove(i) print("删除完毕") return else: print('查无此人!!!') def change_student_info(): """修改学生信息""" change_tel = int(input("请输入要修改的学生的电话:")) # 判断这个人是否存在 # i => {"name": "老王", "age": 18, "tel": 110} for i in student_info_list: if i["tel"] == change_tel: # 获取要修改的信息 change_name = input("请输入修改后的姓名:") change_age = int(input("请输入修改后的年龄:")) change_tel = int(input("请输入修改后的电话:")) # 修改信息 i["name"] = change_name i["age"] = change_age i["tel"] = change_tel print("修改完毕!!!") return else: print("查无此人!!!") def search_student_info(): """查询一个学生的信息""" search_tel = int(input("请输入要查询的学生的电话:")) for i in student_info_list: if i["tel"] == search_tel: print(f"姓名:{i['name']} 年龄:{i['age']} 电话:{i['tel']}") return else: print("查无此人!!!") def load_data(): """加载数据""" global student_info_list f = open("./data.txt", 'r', encoding="utf8") data = f.read() # 判断文件是否为空 if len(data) > 0: # 从文件中获取的数据默认是字符串类型的数据 data = eval(data) # 把数据加载到了 student_info_list student_info_list = data f.close() def save_data(): """保存数据""" f = open('./data.txt', "w", encoding="utf8") # 文件必须存储字符串数据 f.write(str(student_info_list)) f.close() def main(): """主函数, 控制流程的""" # 加载数据 load_data() while True: print_info() num = input('请输入您的选项:') if num == "1": add_student_info() elif num == "2": del_student_info() elif num == '3': change_student_info() elif num == '4': search_student_info() elif num == '5': show_all_info() elif num == '6': # 保存数据 save_data() print("谢谢使用!!!") return else: print('输入的不正确!!!') input("请按回车继续!!!") if __name__ == '__main__': main()
八、信息变动
(姓名、年龄、电话号)--->(学号、姓名、电话号)
需求:设计一个学生管理系统,要求实现对学生信息(学号、姓名、电话号)的增删改查功能,并实现持久化存储(注意文件存储路径)。
# 存储学生信息 student_info_list = [] def print_info(): # 打印提示信息 print() print('---------------->学生管理系统<-----------------') print() print(' 1 -> 添加学生信息 2 -> 删除学生信息') print(' 3 -> 修改学生信息 4 -> 查询单个学生信息') print(' 5 -> 查询所有学生信息 0 -> 退出程序') print('---------------------------------------------') def add_student_info(): """添加学生""" global student_info_list # 获取要添加的人的学号 add_id = int(input('请添加学生学号:')) # 判断是否存在这个学生 # i ==> {"id": 01, "name": "老王", "tel": 110} for i in student_info_list: if i["tel"] == add_id: print('该学生已存在!!!') return # 确定了所有的学生的电话都不重复 else: add_name = input("请添加学生姓名:") add_tel = int(input("请添加学生电话:")) # 存储新的学生的信息 my_dict = {"id": add_id, "name": add_name, "tel": add_tel} # 添加到列表中 student_info_list.append(my_dict) print('添加成功!') def show_all_info(): """显示所有的学生信息""" # i ==> {"id": 01, "name": "老王", "tel": 110} print("学号\t\t姓名\t\t电话") for i in student_info_list: print(f"{i['id']}\t{i['name']}\t{i['tel']}") def del_student_info(): """删除学生信息""" global student_info_list del_id = int(input("请输入要删除学生的学号:")) # 判断这个人是否存在 # i ==> {"id": 01, "name": "老王", "tel": 110} for i in student_info_list: if i["id"] == del_id: student_info_list.remove(i) print("删除完毕!") return else: print('未查到该同学!!!') def change_student_info(): """修改学生信息""" change_id = int(input("请输入要修改的学生的学号:")) # 判断这个人是否存在 # i ==> {"id": 01, "name": "老王", "tel": 110} for i in student_info_list: if i["id"] == change_id: # 获取要修改的信息 change_id = int(input("请输入修改后的学号:")) change_name = input("请输入修改后的姓名:") change_tel = int(input("请输入修改后的电话:")) # 修改信息 i["id"] = change_id i["name"] = change_name i["tel"] = change_tel print("修改完毕!!!") return else: print("未查到该同学!!!") def search_student_info(): """查询一个学生的信息""" search_id = int(input("请输入要查询的学生的学号:")) for i in student_info_list: if i["id"] == search_id: print(f"学号:{i['id']} 姓名:{i['name']} 电话:{i['tel']}") return else: print("未查到该同学!!!") def load_data(): """加载数据""" global student_info_list f = open("student.txt", 'r', encoding="utf8") data = f.read() # 判断文件是否为空 if len(data) > 0: # 从文件中获取的数据默认是字符串类型的数据 data = eval(data) # 把数据加载到了 student_info_list student_info_list = data f.close() def save_data(): """保存数据""" f = open('student.txt', "w", encoding="utf8") # 文件必须存储字符串数据 f.write(str(student_info_list)) f.close() def main(): """主函数, 控制流程的""" # 加载数据 load_data() while True: print_info() num = input('请输入您要操作的序号:') if num == "1": add_student_info() elif num == "2": del_student_info() elif num == '3': change_student_info() elif num == '4': search_student_info() elif num == '5': show_all_info() elif num == '0': # 保存数据 save_data() print("退出成功,欢迎您下次使用!") return else: print('序号错误,请您仔细查看提示,再次输入!') if __name__ == '__main__': main()
九、示例图
添加学生(示例图):
删除学生(示例图):
修改学生(示例图):
查询单个学生信息(示例图):
查询所有学生信息(示例图):
退出程序(示例图):
文件地址位置:
这个学生管理系统基本上把Python的基础知识都利用上了,是检测是否打好了Python基础的一个方法,大家根据思路,尝试着写一写。在之后的一段时间,会给大家带来Python进阶部分的内容,感谢大家支持!
今天的内容就到这里,下期再见啦~
<end>