|
|
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 |