# 抽取功能代码到函数的目的:未了提高代码的复用性,减少代码的冗余,通过函数管理功能代码,代码结构 # 更加清晰一些 # 定义全局变量 student_list = list() # [] # 表示创建空的列表,未来存储每一个学生字典信息, [{"key": value, ..}] # 显示功能菜单 def show_menu(): print("---------学生管理系统V1.0---------") print("1. 添加学生") print("2. 修改学生") print("3. 删除学生") print("4. 查询学生") print("5. 显示所有学生") print("6. 退出") # 添加学生函数 def add_student(): name = input("请输入您的姓名:") age = input("请输入您的年龄:") sex = input("请输入您的性别:") # 存储某一个学生信息,可以使用字典 student_dict = dict() # {} 表示创建是一个空的字典 # 添加数据到字典 student_dict["name"] = name student_dict["age"] = age student_dict["sex"] = sex # 把学生字典添加到学生列表里面 student_list.append(student_dict) # 显示所有学生 def show_all_student(): for index, student_dict in enumerate(student_list): # 学号 student_no = index + 1 print("学号: %d 姓名: %s 年龄: %s 性别: %s" % (student_no, student_dict["name"], student_dict["age"], student_dict["sex"])) # 修改学生 def modify_student(): # 1.接收用户输入的学号 student_no = int(input("请输入您要修改学生的学号:")) # 2.根据学号生成对应的下标 index = student_no - 1 # 判断是否是合法下标范围 if 0 <= index < len(student_list): # 3.根据下标获取要修改的字典 current_dict = student_list[index] # 4.接收用输入的最新数据 new_name = input("请输入您修改后的名字:") new_age = input("请输入您修改后的年龄:") new_sex = input("请输入您修改后的性别:") # 5.根据用户输入的信息的数据对字典进行修改 current_dict["name"] = new_name current_dict["age"] = new_age current_dict["sex"] = new_sex print("修改成功!") else: print("请输入合法的学号!") # 删除学生的功能函数 def remove_student(): # 1. 接收用户输入的学号 student_no = int(input("请输入您要删除学生的学号:")) # 2. 根据学号生成下标 index = student_no - 1 # 判断下标是否合法 if 0 <= index < len(student_list): # 3. 根据下标从列表中删除数据 # del student_list[index] current_dict = student_list.pop(index) print("%s, 删除成功!" % current_dict["name"]) else: print("请输入合法的学号!") # 查询学生 def query_student(): # 1. 接收用户入要查询学生的姓名 name = input("请输入要查询学生的姓名:") # 2. 遍历学生列表,一次判断学生的姓名是否是指定名字 for index, student_dict in enumerate(student_list): if student_dict["name"] == name: # 生成学生 student_no = index + 1 # 3. 如果找到了则输出学生信息,则停止循环 print("学号: %d 姓名: %s 年龄: %s 性别: %s" % (student_no, student_dict["name"], student_dict["age"], student_dict["sex"])) break else: # 4. 遍历完都没有找到,需要输出该用户不存在 print("对不起,您查找的学生信息不存在!") # 程序的入口函数 def start(): # 提示:未了让程序一直运行,可以为用户一直服务,需要在外面使用一个死循环。 while True: # 1. 显示学生管理系统的功能菜单 show_menu() # 2. 接收用输入的功能选项 menu_option = input("请输入您的功能选项:") # 3. 判断用户输入的功能选项并执行相关的操作 if menu_option == "1": print("添加学生") add_student() elif menu_option == "2": print("修改学生") modify_student() elif menu_option == "3": print("删除学生") remove_student() elif menu_option == "4": print("查询学生") query_student() elif menu_option == "5": print("显示所有学生") show_all_student() elif menu_option == "6": print("退出程序") break # 调用start函数 start()