"""
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('功能选择错误,请重新选择')