应用:学员管理系统
系统简介
需求:进入系统显示系统功能界面,功能如下:
- 1、添加学员
- 2、删除学员
- 3、修改学员信息
- 4、查询学员信息
- 5、显示所有学员信息
- 6、退出系统
系统共6个功能,用户根据自己需求选取
步骤分析
1、显示功能界面
2、用户输入功能序号
3、根据用户输入的功能序号,执行不同的功能(函数)
- 定义函数
- 调用函数
需求实现
显示功能界面
定义不同功能的函数
所有功能函数都是操作学员信息,所以存储所有学员信息应该是一个全局变量,数据类型为列表
info = []
添加学员
需求分析
1、接受用户输入学员信息并保存
2、判断是否添加学员信息
- 如果学员姓名已存在则报错
- 如果不存在则准备空字典,将用户输入的数据追加到字典
3、对应的if条件成立的位置调用该函数
代码实现
# 定义功能界面函数
def info_print():
print('请选择功能:')
print('1、添加学员')
print('2、删除学员')
print('3、修改学员')
print('4、查询学员')
print('5、显示所有学员')
print('6、退出系统')
print('-' * 20)
# 等待存储所有学员的信息
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_dict = {}
# 2.2.1 字典新增数据
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel
# 2.2.2 列表追加字典
info.append(info_dict)
# 删除学员的函数
def del_info():
# 1、用户输入要删除学员的姓名
del_name = input('请输出要删除学员的姓名:')
# 2、判断学员是否存在:存在删除,不存在则提示不存在
# 2.1 声明info是全局变量
global info
# 2.2 遍历列表
for i in info:
# 2.3 判断学员是否存在,存在删除后break
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']}")
while True:
# 1、显示功能界面
info_print()
# 2、用户输入功能序号
pri_num = int(input('请输入功能序号:'))
# 3、根据用户输入的功能序号,执行不同的功能(函数)
if pri_num == 1:
print('添加学员')
add_info()
elif pri_num == 2:
print('删除学员')
del_info()
elif pri_num == 3:
print('修改学员')
modify_info()
elif pri_num == 4:
print('查询学员')
search_info()
elif pri_num == 5:
print('显示所有学员')
print_all()
elif pri_num == 6:
exit_num = input('您确定要退出系统吗?yes or no? ')
if exit_num == 'yes':
break
else:
print('输入的功能序号有误,请重新输入---')