Python函数加强(学生信息管理系统)

'''
应用:学员管理系统
1.1 系统简介
需求:进入系统显示功能界面,功能如下:
-1、添加学员
-2、删除学员
-3、修改学员信息
-4、查询学员信息
-5、显示所有学员信息
-6、退出系统
系统共6个功能,用户根据自己需求选取

1.2 步骤分析
-1、显示功能界面
-2、用户输入功能序号
-3、根据用户输入的功能序号,执行不同的功能(函数)
    3.1 定义函数
    3.2调用函数

1.3 需求实现
    1.3.1 显示功能界面
        定义函数print_info,负责显示系统功能

1.3.2 定义不同功能的函数
    1.3.2.1添加学员
    -需求分析
    1、接收用户输入学员信息,并保存
    2、判断是否添加学员信息
        2.1如果学员姓名已经勋在,则报错提示
        2.2如果学员姓名不存在,则准备空字典,将用户输入的数据追加到字典,
        在列表追加字典数据
    3、对应的if条件成立的位置调用该函数

    1.3.2.2 删除学员
    -需求分析
    按用户输入的学员姓名进行删除
    1、用户输入目标学员姓名
    2、检查这个学员是否存在
        2.1如果存在,则列表删除这个数据
        2.2如果不存在,则提示“该用户不存在”
    3、对应的if条件成立的位置调用该函数

    1.3.2.3 修改学员信息
    -需求分析
    1、用户输入目标学员学号
    2、检查这个学员是否存在
        2.1 如果存在,显示此学员信息,并供用户输入新的信息
        2.2 如果不存在,则报错,并重新输入
    3、对应的if条件成立的位置调用该函数

    1.3.2.4 查询学员信息
    -需求分析
    1、用户输入目标学员姓名
    2、检查学员是否存在
        2.1 如果存在,则显示这个学员的信息
        2.2 如果不存在,则报错提示
    3、对应的if条件成立的位置调用该函数


'''
# 等待存储所有学员的信息
info = []


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

    # 声明info是全局变量
    global info

    # 检测用户输入的学号是否存在,存在则报错提示
    for i in info:
        if new_id == i['id']:
            print('该学号用户已经存在!')
            # return作用: 退出当前函数,后面的语句不执行
            return  # 如果不加return, 则后面的语句还会执行

    # 如果用户输入的学号不存在,则添加该学员信息
    info_dict = {}

    # 将用户输入的数据追加到字典
    info_dict['id'] = new_id
    info_dict['name'] = new_name
    info_dict['tel'] = new_tel

    # 将这个学员的字典数据追加到列表
    info.append(info_dict)

    print(info)


# 删除学员信息的函数
def del_info():
    """删除学员"""
    while True:
        # 1. 用户输入要删除的学员的学号id
        del_id = input('请输入要删除的学员的学号: ')

        global info
        # 2.判断学员是否存在: 如果输入的姓名存在则删除,否则报错提示
        for i in info:
            if del_id == i['id']:
                del_flag = input('确定要删除吗? yes or no')
                if del_flag == 'yes':
                    del info[id == del_id]
                    print('删除成功!')
                print(info)
                # 删除了目标学员信息后退出循环
                break
        else:
            print('输入学员有误, 请重新输入')


# 修改学员信息的函数
def modify_info():
    """修改学员信息"""
    while True:
        # 用户输入要修改的学员学号
        modify_num = int(input('请输入要修改的学员学号: '))
        global info
        # 检查这个学员是否存在,存在则打印学员信息,并按用户输入修改
        for i in info:
            if modify_num == int(i['id']):
                print(f'该学员学号是{modify_num},'
                      f'姓名是{info[id == modify_num]["name"]},'
                      f'手机号是{info[id == modify_num]["tel"]}')
                info[id == modify_num]["id"] = input('请输入学号:')
                info[id == modify_num]["name"] = input('请输入姓名:')
                info[id == modify_num]["tel"] = input('请输入手机号:')
                print('修改成功!')
                print(info)
                break
        else:
            print('输入学员有误,请重新输入!')


# 查询学员信息的函数
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 print_all():
    """显示所有学员信息"""
    print('学号\t姓名\t手机号')
    for i in info:
        print(f'{i["id"]}\t{i["name"]}\t{i["tel"]}')


# 显示功能列表的函数
def print_info():
    print('''
-1、添加学员
-2、删除学员
-3、修改学员信息
-4、查询学员信息
-5、显示所有学员信息
-6、退出系统
--------------------
    ''')


# 程序主功能循环函数
while True:
    print_info()
    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':
            print('退出系统')
            exit()
    else:
        print('请输入正确的序号!')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万里守约

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值