学生信息管理系统负责编辑学生信息
下面通过python实现一个简单的学生信息管理系统
要求如下:
1.添加学生的信息
2.删除学生的信息
3.修改的信息
4.查询学生的信息
5.遍历学生的信息
6.退出系统
写法:
1.先考虑整体的框架(即搭框架),不要刚开始就考虑函数。
2.提示用户选择功能。
3.获取用户选择的功能。
4.根据用户的选择,执行相应的功能。
代码如下:
1 # 0.学生管理系统界面 2 def showInfo(): 3 print("-"*30) 4 print(" 学生管理系统 v1.0") 5 print(" 1:添加学生的信息") 6 print(" 2:删除学生的信息") 7 print(" 3:修改的信息") 8 print(" 4:查询学生的信息") 9 print(" 5:遍历学生的信息") 10 print(" 6:退出系统") 11 print("-" * 30) 12 13 14 # 1.添加学生的信息 15 def addNewStu(studentsTemp): 16 name = input("请输入姓名:") 17 stuId = input("请输入学号:") 18 age = input("请输入年龄:") 19 20 # 2.判断是否能加这个学生:如果学生姓名已经存在报错提示;如果姓名不存在添加数据 21 global students # 声明students为全局变量 22 23 # 2.1不允许学号重复:判断用户输入的学号和列表里面字典的id对应的值相等提示 24 for i in students: 25 if stuId == i['id']: 26 print("该学号已经存在,请重新操作!!!") 27 # return作用:退出当前函数,后面添加信息的代码不执行 28 return 29 30 # 2.2如果输入的姓名不存在,添加数据:准备空字典,字典新增数据,列表追加字典 31 stuInfo = {} # 2.2.1准备空字典 32 33 # 2.2.2字典新增数据 34 stuInfo['name'] = name # 如果name存在赋值修改,如果name不存在则赋值新增“name”这个变量 35 stuInfo['id'] = stuId 36 stuInfo['age'] = age 37 38 # 2.2.3列表追加字典数据 39 studentsTemp.append(stuInfo) 40 41 42 43 # 2.删除学生的信息 44 def del_info(): 45 # 1.用户输入要删除的学生的学号 46 del_name = input("请输入要删除的姓名:") 47 48 # 2.判断学生是否存在:存在则删除:不存在提示 49 # 2.1声明students为全局变量 50 global students 51 # 2.2遍历列表 52 for i in students: 53 # 2.3判断学生是否存在:存在执行删除(列表用面的学典).break:这个系统不允许重名,删除了一个后面的不需要再遍历。不存在提示 54 if del_name == i['name']: 55 students.remove(i) 56 break 57 else: # 循环正常结束 58 print("该学生不存在") 59 print(students) 60 61 62 # 3.修改学生的信息 63 def modify_info(): 64 # 1.用户输入想要修改的学生的姓名 65 modify_name = input("请输入要修改的学生的姓名:") 66 # 2.判断学生是否存在:存在修改学号:不存在,提示 67 # 2.1声明students是全局变量 68 global students 69 # 2.2遍历列表,判断输入的姓名==字典['name'] 70 for i in students: 71 if modify_name == i['name']: 72 # 将stuId修改key值,并终止此循环 73 i['id'] = input("请输入新的学号:") 74 break 75 else: 76 # 学生不存在 77 print("该学生不存在") 78 # 3.打印students 79 print(students) 80 81 82 # 4.查询学生的信息 83 def search_info(): 84 # 1.用户输入目标学生姓名 85 search_name = input("请输入要查询的学生的姓名:") 86 # 2.检查学生是否存在:存在打印这个学生的信息;不存在则提示 87 # 2.1声明students为全局变量 88 global students 89 # 2.2遍历students,判断输入的学号是否存在 90 for i in students: 91 if search_name == i['name']: 92 # 学员存在:打印信息并终止循环 93 print("查询到的学生信息如下----------") 94 print(f"学生的学号是{i['id']},学生的姓名是{i['name']},学生的年龄是{i['age']}") 95 break 96 else: 97 # 学生不存在的提示 98 print("对不起,您查询的学生不存在,请重试!") 99 100 101 # 5.遍历学生的信息 102 def print_all(): 103 # 1.打印提示字 104 print('学号 姓名 年龄') 105 106 # 2.打印所有学生的数据 107 for i in students: 108 print(f"{i['id']} {i['name']} {i['age']}") 109 110 111 students = [] # 等待存储所有学生信息 112 # 系统功能需要循环使用,直在用户输入6,才退出系统 113 while True: 114 showInfo() # 显示主界面 115 key = int(input("请选择功能(序号):")) 116 117 if key == 1: 118 addNewStu(students) 119 elif key == 2: 120 del_info() 121 elif key == 3: 122 modify_info() 123 elif key == 4: 124 search_info() 125 elif key == 5: 126 print_all() 127 elif key == 6: 128 exit_flag = input("您确定要退出吗?yes/no ") 129 if exit_flag == 'yes': 130 break 131 else: 132 print("输入有误,请重新输入!") 133