综合案例
综合案例
功能
学生信息管理系统,包括以下主要功能:
- 添加学员
- 删除学员
- 修改学员
- 查询学员信息
- 显示所有学员信息
- 退出系统
步骤分析
- 显示功能界面
- 用户输入功能序号
- 根据用户输入的功能序号,执行不同的功能(函数)
- 定义函数
- 调用函数
需求实现
- 搭建框架
# 定义功能界面函数
def info_print():
print('请选择功能------')
print('1. 添加学员')
print('2. 删除学员')
print('3. 修改学员')
print('4. 查询学员')
print('5. 显示所有学员')
print('6. 退出系统')
print('-' * 20)
# 系统功能需要循环使用,直到用户输入6,才能退出系统
while True:
# 1. 显示功能界面
info_print()
# 2. 用户输入功能序号
user_num = int(input('请输入功能序号:'))
# 3. 按照用户输入的功能序号,执行不同的功能
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('退出系统')
break
else:
print('输入有误')
- 定义不同功能的函数
- 添加学员
- 接受用户输入
- 判断是否添加学员信息
- 已经存在,提示
- 不存在,追加
- 添加
- 代码实现
def add_info():
"""添加学员函数"""
# 1. 添加学号,姓名,手机号
new_id = input("请输入学号:")
new_name = input("请输入姓名:")
new_tel = input("请输入手机号:")
# 2. 判断姓名是否存在,存在添加失败,否则添加
global info
# 2.1 不允许重复
for i in info:
if new_name == i['name']:
print('该用户已经存在')
return # 添加的代码不再执行
# 2.2 如果不存在
# 准备空字典
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():
"""删除学员信息"""
# 1. 要删除的学员的姓名
del_name = input('请输入要删除的学员的名字:')
# 2. 判断是否存在
# 2.1 声明info全局变量
global info
# 2.2 遍历列表
for i in info:
# 2.3 判断是否存在,存在执行删除(列表中的字典)
if del_name == i['name']:
info.remove(i)
break
else:
print('该学员不存在') # for循环正常结束会执行到的代码
print(info)
- 修改学员信息
- 用户输入要修改的学员姓名
- 检查是否存在
- 存在,修改
- 不存在报错
- 代码实现
def modify_info():
"""修改信息"""
# 1. 输入要修改学员的姓名
modify_name = input('请输入要修改学员的姓名:')
# 2. 判断学员是否存在,存在修改,不存在,提示
global info
for i in info:
if modify_name == i['name']:
i['tel'] = input('请输入新的手机号:')
break
else:
print('您输入的学员姓名不存在')
print(info)
- 查询学员信息
- 输入要查询学员的姓名
- 检查是否存在
- 存在,打印信息
- 不存在,提示
- 代码实现
def search_info():
"""查询学员信息"""
# 1. 输入要查找的学员姓名
search_name = input("请输入要查找的学员姓名:")
# 2. 检查是否存在,存在,打印信息,不存在,提示
global info
for i in info:
if search_name == i['name']:
# 显示信息
print(f"学员的学号:{i['id']}, 姓名:{i['name']}, 手机号:{i['tel']}")
break
else:
print("学员不存在")
- 显示所有学员信息
def print_all():
"""查询所有学员信息"""
print('学号\t姓名\t手机号')
global info
for i in info:
print(f"{i['id']}\t{i['name']}\t{i['tel']}")
- 退出系统
elif user_num == 6:
print('退出系统')
exit_flag = input("是否要退出系统 yes or no: ")
if exit_flag == 'yes':
break