综合案例

综合案例

功能

学生信息管理系统,包括以下主要功能:

  1. 添加学员
  2. 删除学员
  3. 修改学员
  4. 查询学员信息
  5. 显示所有学员信息
  6. 退出系统

步骤分析

  1. 显示功能界面
  2. 用户输入功能序号
  3. 根据用户输入的功能序号,执行不同的功能(函数)
    1. 定义函数
    2. 调用函数

需求实现

  1. 搭建框架
# 定义功能界面函数
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('输入有误')
  1. 定义不同功能的函数
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