Bootstrap

Python函数学习实战----学员管理系统编写指导

##################
# 应用:学员管理系统
# 递归
# lambda 表达式
# 高阶函数
# 了解需求
# 一、学员管理系统
# 1.1系统简介
# 1.添加学员信息
# 2.删除学员
# 3.修改学员信息
# 4.查询学员信息
# 5,显示所有学员信息
# 6,退出系统
# 1.2 步骤分析
# 1.显示功能界面
# 定义不同功能的函数,操作学员信息,所有存储所有学员信息应该是全局变量,数据类型为列表。

# 1.3.1添加学员需求分析
# 1.接收用户输入学员信息,并保存。
# 2.判断是否添加学员信息
#  2。1如果学员名称已经存在,则报错提示
#     2.2 如果学员姓名不存在,则准备空字典,将用户输入的数据追加到字典,在列表追加字典的数据。
# 3.  对应的if 条件成立的位置调用该函数。
# 1.3.2 删除学员分析
# 1.用户输入目标学员姓名
# 2.查找这个学员是否存在:
#     如果存在,则列表删除数据
#     如果不存在,提示该用户不存在
# 3.对应的if条件成立调用函数
# 1.3.3 修改学员信息
# 1.需求分析
# 1.输入学员姓名
# 2.检查这个学员是否存在
#     如果存在,则修改学员的信息,例如手机号
#     如果不存在,则报错
# # 3.对应的if条件成立的位置调用该函数
# 1.3.4 查询学员信息
# 1.输入学员信息
# 2.检查这个学员是否存在:
#     如果存在,则修改学员的信息,例如手机号
#     如果不存在。则报错
# 3.对应的if添加成立的位置调用函数
info = []
def info_print():
    print('-----------请选择功能-------------')
    print('1.添加学员信息')
    print('2.删除学员信息')
    print('3.修改学员信息')
    print('4.查询学员信息')
    print('5.显示所有学员信息')
    print('6.退出')
    print('--'*20)
#系统功能需要循环使用,直到用户输入6,才退出这个系统。
#添加学员信息的函数
def add_info():
    '''
    添加学员函数
    :return:
    '''
    new_name = input('请输入学员名称:')
    new_id = input('请输入学员编号:')
    new_tel = input('请输入学员手机号:')
    global info
    #检测用户输入的姓名是否存在,存在则报错提示
    for i in info :
        if new_name == i['name']:  #定义姓名不允许重复,可以设置为不允许id重复
            print('该用户已经存在')
            return  #退出当前函数
    #如果输入的姓名不存在,添加数据,准备空字典。字典新增数据,列表追加字典。
    info_dict = {} #声明一个空字典,要添加学员信息
    info_dict['id']=new_id
    info_dict['tel']=new_tel
    info_dict['name']=new_name
    # print(info_dict)
    info.append(info_dict)  #info.append(info_dict)
    print(info)

def del_info():
    '''
    删除学员函数
    :return:
    '''
    pass
    del_name = input('请删除您要删除的学员名称:')
    global info  #声明全局变量
    for i in info:
        if del_name ==i['name']:
            info.remove(i)        #删除数据用的,remove。列表删除
            print(f'{del_name}已经删除成功')
            break
    else:
        print('该学员不存在')
    print(info)
def modify_info():      #修改学员信息                          def mon
    '''
    修改学员信息
    :return:
    '''
    global info
    modify_name = input('请输入您的名字:')
    for i in info :
        if modify_name == i['name']:
            i['tel'] = input('请输入更改后的信息:')
            print(f'{modify_name}已修改成功')
            break

    else:
        print('该用户不存在')
    print(info)
def search_info():
    search_name = input('请输入目标学员的姓名')
    global info
    for i in info:
        if search_name == i['name']:
            print(f"您的学员id为{i['id']},您的姓名为{i['name']},您的学员手机号为{i['tel']}")
            break
    else:
        print('用户不存在')
    print(info)
def list_info():  #显示所有信息
    '''
    显示所有学员信息
    :return:
    '''
    print('姓名\t手机号\t学员编号\t')
    global info
    for i in info:
        print(f'{i["name"]}\t{i["tel"]}\t{i["id"]}\t')
    for i in info:
        print(f"{i['name']}\t{i['tel']}\t{i['id']}")
    print(info)

while True:
    #显示功能界面
    info_print()
    user_num=int(input('请输入功能序号:'))
    #如果用户输入1.执行添加,如果用户输入2.执行删除
    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('显示功能')
        list_info()
    elif user_num == 6:
        #print('删除功能') 程序想要结束,终止while循环就行。
        exit_ = input('确定要退出吗?yes or no\n:')
        if exit_ == 'yes':
            break

    else:
        print('您的输入不在功能范围之内,请重新输入1-6')



;