""" 1.学员管理系统 系统功能界面 1-添加学员 2-删除学员 3-修改学员信息 4-查询学员信息 5-退出系统 6-显示全部学员信息 """ # 打印要操作的信息 # 使用数字表示使用的功能 # 输入对应的数字,表示要操作的功能 # 1:增加学员信息 2:删除学员信息 # 3:修改学员信息 4:查看学员信息 5:退出系统 # 存储数据 # str number list set tuple dict # 学员的信息 学号 名字 手机号 # 选择dict类型存储 user_info = {} # 打印系统界面 def print_info() -> str: """ 打印系统功能页面 :return: 功能选择 str """ print('-'*20+'选择功能'+'-'*20) print('1,增加学员信息\t 2,删除学员信息\t 3,修改学员信息\t\ \n4,查看学员信息\t 5,退出系统\t\t 6,显示全部学员信息\t') number = input('请输入数字,选择操作的功能:') print('-'*20) return number # 增加 def add_info(): """ 增加学员信息 :return: """ print('增加学员信息') while True: user_id = input('请输入学员的学号:') user_name = input('请输入学员的名字:') number = input('请输入学员的电话:') if verify_info(user_id): # 如果该学号在字典中 print('已有这个学员,不可重复添加') print('请重新输入!') else: # 添加数据到user_info中 user_info[user_id]= {'user_name': user_name, 'number': number} # 字典中字典 print(f'增加成功,数据为{user_id}->{user_info[user_id]}') break # 确认学员学号是否存在 def verify_info(user_id): """ 确认学号是否存在 :return: """ if user_id in user_info.keys(): # 如果该学号在字典中 return True else: print(f'没有找到学号为{user_id}的学员信息') return False # 删除 def del_info(): """ 删除学员信息 :return: """ print('删除学员信息') user_id = input('请输入学员的学号:') if verify_info(user_id): # 判断学员id是否存在 print(f'学员{user_id}的{user_info[user_id]}已经删除') # 必须是先打印再删除,否则报错 del user_info[user_id] # 删除学员数据 # 修改 def alter_info(): """ 修改学员信息 :return: """ print('修改学员信息') user_id = input('请输入学员的学号:') if verify_info(user_id): # 判断学员id是否存在 while True: print('1, 修改名字 2, 修改手机号') data = input('请输入要操作的功能') if data == '1': new_name = input('请输入修改后的名字') user_info[user_id]['user_name'] = new_name print(f'学员{user_id}的{user_info[user_id]}已经修改') break elif data == '2': new_number = input('请输入修改后的手机号') user_info[user_id]['number'] = new_number print(f'学员{user_id}的{user_info[user_id]}已经修改') break else: print('功能选择错误,请重新选择') # 查看 def search_info(): """ 查询学员信息 :return: """ print('查询学员信息') # 查询学号 user_id = input('请输入要查询学员的学号:') if verify_info(user_id): print(f'学号为{user_id}的学员的信息为: {user_info[user_id]}') # 显示全部信息 def show_all(): """ 显示全部信息 :return: """ print('全部学员信息如下:') print('学号\t\t姓名\t\t电话号码\t') for user_id, j in user_info.items(): print(user_id, end='\t\t') # print(j) for n in j.values(): # 按照我这个来说,这里没必要使用keys() # print(i) # print(m) print(n, end='\t\t') print() if __name__ == '__main__': # 程序的入口,程序从这里运行 while True: value = print_info() if value == '1': # 因为value是str类型 add_info() # 调用增加学员信息的函数 elif value == '2': del_info() # 调用删除信息的函数 elif value == '3': alter_info() # 调用修改信息的函数 elif value == '4': search_info() # 查询学员信息 elif value == '5': break # 结束程序运行 elif value == '6': show_all() else: print('功能选择错误,请重新选择')