python学习笔记6(学员管理系统)

"""
需求:进入系统显示系统功能界面,功能如下:
添加学员
删除学员
修改学员信息
查询学员信息
显示所有学员信息
退出系统
系统共6个功能,⽤用户根据自己需求选取。
"""
'''
步骤分析:
1. 显示功能界面
2. 用户输入功能序号
3. 根据⽤用户输入的功能序号,执行不同的功能(函数)
3.1 定义函数
3.2 调用函数
'''


# 显示功能界面
def print_info():
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1:添加学员')
    print('2:删除学员')
    print('3:修改学员信息')
    print('4:查询学员信息')
    print('5:显示所有学员信息')
    print('6:退出系统')
    print('-' * 20)


# 添加学员
def add_info():
    """添加学员"""
    while True:
        # 接收用户输入学员信息
        new_id = input('请输入学号:')
        new_name = input('请输入姓名:')
        new_tel = input('请输入手机号:')

        # 声明info是全局变量
        global info

        # 检测用户输入姓名是否存在
        for i in info:
            if new_name == i['name']:
                print('用户已存在')
                return

        # 如果用户名不存在,则添加信息
        info_dict = {'id': new_id, 'name': new_name, 'tel': new_tel}
        # 追加到列表
        info.append(info_dict)
        print('添加成功')
        print(info_dict)

        add_flag = input('是否继续添加(y/n):')
        if add_flag == 'n':
            break


# 删除学员信息
def del_info():
    """按学号删除信息"""
    while True:
        del_id = input('输入要删除的学员学号:')
        global info
        # 检查学员是否存在,若存在,则删除列表指定下标数据
        for index, i in enumerate(info):
            if del_id == i['id']:
                del_flag = input('确定删除?y/n')
                if del_flag == 'y':
                    del info[index]
                    print('删除成功')
                print(info)
                # 删除成功,退出循环
                break
        else:
            print('该学员不存在!')

        flag = input('是否继续删除(y/n):')
        if flag == 'n':
            break


# 修改学员信息
def modify_info():
    """根据学号修改学员信息"""
    while True:
        mod_id = input('输入要修改的学员学号:')
        global info
        # 检查学员是否存在,若存在则显示该学员信息,并提供新信息
        for index, i in enumerate(info):
            if mod_id == i['id']:
                print(f'该学员学号为{info[index]["id"]},姓名是{info[index]["name"]},'
                      f'手机号为{info[index]["tel"]}')
                mod_flag = input('确定修改?y/n')
                if mod_flag == 'y':
                    info[index]["id"] = input('输入学号:')
                    info[index]["name"] = input('输入姓名:')
                    info[index]["tel"] = input('输入手机号:')
                print(info)
                # 修改成功,退出循环
                break
        else:
            print('学员不存在')

        flag = input('是否继续修改(y/n):')
        if flag == 'n':
            break


# 查询学员信息
def search_info():
    """查询学员信息"""
    search_name = input('输入要查询的学员姓名:')
    for i in info:
        if search_name == i['name']:
            print('*** 查询信息如下 ***')
            print(f'该学员学号是{i["id"]},姓名是{i["name"]},手机号是{i["tel"]}')
            break
    else:
        print('查无此人')


# 显示所有学员信息
def show_info():
    """显示所有学员信息"""
    print('学号\t姓名\t手机号')
    for i in info:
        print(f'{i["id"]}\t{i["name"]}\t{i["tel"]}')


# 主函数
info = []
while True:
    print_info()

    # 用户输入功能序号
    user_num = input('输入功能序号(1,2,3,4,5,6):')

    # 根据用户选择,执行不同功能
    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('显示所有学员信息')
        show_info()
    elif user_num == '6':
        exit_flag = input('确定退出系统?y/n')
        if exit_flag == 'y':
            print('退出系统')
            break
    else:
        print('输入错误,请重新输入')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值