import re import os info = [] boys = [] girls = [] # 定义功能界面函数 def info_print(): print("请选择如下功能:") print("1:添加学员:") print("2:删除学员") print("3:修改学员信息") print("4:查询学员信息") print("5:显示所有学员信息") print("6:保存学员信息") print("7:退出系统") def add_info(): new_name = input("请输入您的姓名:") new_sex = input("请输入您的性别:") new_num = input("请输入您的电话:") global info for i in info: if new_name == i['name']: print('用户已存在') return info_dict = {'name': new_name, 'sex': new_sex, 'num': new_num} info.append(info_dict) print("{},{},{}".format(new_name, new_sex, new_num)) def del_info(): del_name = input('请输入要删除的学员的姓名:') global info for i in info: if del_name == i['name']: info.remove(i) break else: print('该学员不存在') print(info) def modify_info(): modify_name = input('请输入要修改的学员的姓名:') global info for i in info: if modify_name == i['name']: i['name'] = input('请输入新的姓名') i['sex'] = input('请输入性别') i['num'] = input('请输入新的手机号:') print("姓名:{},性别{},手机号{}".format(i['name'], i['sex'], i['num'])) break else: print('该学员不存在') print(info) def search_info(): search_name = input('请输入要查找的学员姓名:') global info for i in info: if search_name == i['name']: print('查找到的学员信息如下:') print(f"姓名是{i['name']},性别为:{i['sex']},手机号是{i['num']}") break else: print('查无此人......') def fuzzy_finder(key, data): suggestions = [] pattern = '.*%s.*' % key regex = re.compile(pattern) for item in data: match = regex.search(item['name']) if match: suggestions.append(item) return suggestions def print_all(): myFind = int(input("输入操作代码:")) if myFind == 1: print('姓名\t性别\t手机号') for i in info: print(f"姓名是{i['name']},性别为:{i['sex']},手机号是{i['tel']}") elif myFind == 2: create_file() else: print("输入有误") while True: info_print() user_num = int(input('请输入功能序号:')) if user_num == 1: add_info() elif user_num == 2: del_info() elif user_num == 3: modify_info() elif user_num == 4: print('请选择查找方式:\n1.精准查找\n2.模糊查找\n3.统计男女\n0.退出') myFind = int(input()) if myFind == 1: search_info() elif myFind == 2: findName = input('请输入要查找的学员姓名:') result = fuzzy_finder(findName, info) print(result) elif myFind == 3: sex_ratio() elif myFind == 0: print('返回主菜单') continue else: print('输入有误,已返回主菜单') continue elif user_num == 5: print_all() elif myFind == 6: delete_file() elif user_num == 0: exit_flag = input('确定要退出吗? yes or no') if exit_flag == 'yes': print('已退出程序') break elif exit_flag == 'no': print('返回主菜单') continue else: print('输入有误,已返回主菜单') continue else: print('输入的功能序号有误') continue