一、应用:学员管理系统
需求:进入系统显示系统功能界面,功能如下:
1.添加学员
2.删除学员
3.修改学员信息
4.查询学员信息
5.显示所有学员信息
6.退出系统
# 定义功能界面函数
def info_print():
print('请选择功能')
print('1.添加学员')
print('2.删除学员')
print('3.修改学员')
print('4.查询学员信息')
print('5.显示所有学员信息')
print('6.退出系统')
print('-' * 20)
# 系统功能需要循环使用,直到用户输入6退出
while True:
info_print()
user_num = int(input('请输入功能序号'))
if user_num == 1:
print('添加')
elif user_num == 2:
print('删除')
elif user_num == 3:
print('修改')
elif user_num == 4:
print('查询')
elif user_num == 5:
print('显示所有信息')
elif user_num == 6:
print('退出')
else:
print('输入的序号有误')
定义不同功能的函数
1.1 添加学员
# 等待存储所有学员的信息
info = []
# 添加
def add_info():
"""添加学员函数"""
new_id = input('请输入id')
new_name = input('请输入姓名')
new_tel = input('请输入手机号')
# 判断是否添加,如果输入的姓名不存在则添加,准备空字典,字典新增数据,列表新增字典
global info #声明全局变量info,使之能在局部内被修改
# 不允许姓名重复,重复则不添加且提示
for i in info:
if new_name == i['name']:
print('此用户已经存在')
return # return在这里的作用:退出当前函数add_info() 不加return的话会继续执行该函数后面的代码。
info_dict = {}
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel
# print(info_dict)
# 列表追加字典
info.append(info_dict)
print(info)
1.2 删除学员
def del_info():
"""删除学员"""
del_name = input('输入要删除的姓名')
global info
for i in info:
if del_name == i['name']:
info.remove(i)
break # 退出当前循环
else:
print('该学员不存在')
1.3 修改学员信息
def modify_info():
"""修改函数"""
modify_name = input('请输入要修改信息的学员姓名')
global info
for i in info:
if modify_name == i['name']:
i['tel'] = input('请输入新的手机号')
break
else:
print('该学员不存在')
1.4 查询信息
def search_info():
"""查询学员"""
search_name = input('请输入要查询学员的姓名')
global info
for i in info:
if search_name == i['name']:
print('查到的学员信息如下:')
print(f"该学员学号是{i['id']}, 姓名是{i['name']}, 电话是{i['tel']}")
break
else:
print('该学员不存在')
1.5 显示所有信息
def print_all():
"""显示所有信息"""
print('学号\t姓名\t手机号')
for i in info:
print(f'{i["id"]}\t{i["name"]}\t{i["tel"]}')
1.6 退出系统
elif user_num == 6:
exit_flag = input('确定退出?yes or no')
if exit_flag == 'yes':
break
完整代码
# 定义功能界面函数
def info_print():
print('请选择功能')
print('1.添加学员')
print('2.删除学员')
print('3.修改学员')
print('4.查询学员信息')
print('5.显示所有学员信息')
print('6.退出系统')
print('-' * 20)
# 等待存储所有学员的信息
info = []
# 添加
def add_info():
"""添加学员函数"""
new_id = input('请输入id')
new_name = input('请输入姓名')
new_tel = input('请输入手机号')
# 判断是否添加,如果输入的姓名不存在则添加,准备空字典,字典新增数据,列表新增字典
global info
# 不允许姓名重复
for i in info:
if new_name == i['name']:
print('此用户已经存在')
return # return在这里的作用:退出当前函数add_info()
info_dict = {}
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel
# print(info_dict)
# 列表追加字典
info.append(info_dict)
print(info)
# 删除
def del_info():
"""删除学员"""
del_name = input('输入要删除的姓名')
global info
for i in info:
if del_name == i['name']:
info.remove(i)
break # 退出当前循环
else:
print('该学员不存在')
# 修改
def modify_info():
"""修改函数"""
modify_name = input('请输入要修改信息的学员姓名')
global info
for i in info:
if modify_name == i['name']:
i['tel'] = input('请输入新的手机号')
break
else:
print('该学员不存在')
# 查询
def search_info():
"""查询学员"""
search_name = input('请输入要查询学员的姓名')
global info
for i in info:
if search_name == i['name']:
print('查到的学员信息如下:')
print(f"该学员学号是{i['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:
info_print()
user_num = int(input('请输入功能序号'))
if user_num == 1:
# print('添加')
add_info()
elif user_num == 2:
# print('删除')
del_info()
elif user_num == 3:
# print('修改')
modify_info()
elif user_num == 4:
# print('查询')
search_info()
elif user_num == 5:
# print('显示所有信息')
print_all()
elif user_num == 6:
exit_flag = input('确定退出?yes or no')
if exit_flag == 'yes':
break
else:
print('输入的序号有误')