我们将要实现一个学员管理系统,要实现如下的功能
功能:
1.添加学员
2.删除学员
3.修改学员信息
4.查询学员信息
5.显示所有学员信息
6.退出系统
#定义功能界面函数
def info_print():
print('请选择功能-------')
print('1、添加学员')
print('2、删除学员')
print('3、修改学员')
print('4、查询学员')
print('5、显示所有学员')
print('6、退出系统)
print('-' * 10)
#存储全部学员信息
info = []
#添加学员信息的函数:
def add_info():
"""添加学员的函数"""
#1.用户输入:学员、姓名、手机号
new_id = input('请输入学号:')
new_name = input('请输入姓名:')
new_tel = input('请输入手机号:')
#2.判断是否添加这个学员:如果学员姓名已经存在,报错显示;如果姓名不存在,添加数据
global info
#2.1 学员姓名不允许重复:判断用户输入的姓名 和 列表里面字典的name对应的值 相等 提示
for i in info:
if new_name == i['name']
print('用户已经存在')
return #return作用:退出当前函数,后面添加信息的代码不执行
#2.2 如果输入的姓名不存在,则添加数据:制作一个空字典,字典新增数据,列表追加字典
info_dicr = {}
#字典新增数据
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel
#列表追加字典
info.append(info_dict)
#删除学员函数:
del del_info():
"""删除学员函数"""
#1.用户输入要删除的学员的姓名
del_name = input('请输入要删除的学员的姓名:')
#2.判断学员是否存在:存在则删除;不存在提示
#2.1 声明info是全局变量
global info
#2.2 遍历列表
for i in info
if del_name == i['name']:
info_remove(i)
break
else:
print('该学员不存在')
print(info)
#2.3 判断学员是否存在;存在执行删除(列表里面的字典),break:这个系列不允许重复,删除了一个
#后面的不要在遍历
#修改函数
def modify_info():
"""修改学员信息"""
#1.用户输入想要修改的学员的姓名
modify_name = input('请输入要修改的学员的姓名:')
#2.判断学员是否存在:存在修改手机号:不存在,提示
#2.1 声明info是全局
global info
#2.2 遍历列表,判断输入的姓名 == 字典['name']
for i in info:
if modify_name == i['name']:
#将tel这个key修改值,并终止此循环
i['tel'] = input('请输入新的手机号:')
break
else:
print('学员不存在')
#3. 打印info
print(info)
#查询学员
def search_info():
"""查询学员"""
#1.输入要查找的学员姓名:
search_name = input('请输入要查找的学员姓名:')
#2声明info全局变量
global info
#2.1 判断学员是否存在:如果输入的姓名存在则显示这位学员信息,否则报错提示
for i in info:
if search_name == i['name']:
#学员存在,打印信息,并结束循环
print('查找到的学员信息如下-----------')
print(f"学员的学号是{o['id']},姓名是{i['name']},手机号是{i['tel']}")
break
else:
#学员不存在的提示
print('学员不存在,查无此人.....')
#显示所有学员信息:
def print_all():
"""显示所有学员信息"""
print('学号\t姓名\t手机号')
#打印所有学员数据
for i in info:
print(f'{i["id"]}\t{i["name"]}\t{i["tel"]}')
#系统功能需要循环使用,直到用户输入6,才退出系统
while True:
#1、显示功能界面
info_print()
#2、用户输入功能序号
user_num = int(input('请输入功能序号'))
#2、按照用户输入的功能序号,执行不同的功能(函数)
#如果用户输入1.执行添加;如果用户输入2......
if user_num == 1:
add_info()
elif user_num == 2:
del_info()
elif user_num == 3:
modify_info()
elif user_num == 4:
search_info()
elif user_num == 5:
print_all()
elif user_num == 6:
#程序要想退出终止,退出终止while True break
exit_flag == input('确定退出吗? yes or no')
if exit_flag == 'yes'
break
else:
print('输入的功能序号有误')