学员管理系统3.0版本(列表嵌套字典)

'''学员管理系统3.0版本
1.添加学员
    1.1 输入要添加的学员
    1.2 将含有学员信息的字典添加到列表中
2.修改学员
    2.1 输出所有的学员及学员索引(从1开始输出)
    2.2 选择要修改的学员索引,判断索引是否在范围
    2.3 输入要修改的值,根据选择的索引进行修改
3.删除学员
    3.1 根据序号删除学员
        3.1.1 输出所有的学员及学员索引(从1开始输出)
        3.1.2 选择要删除的学员索引,判断索引是否在范围
        3.1.3 根据索引删除学员
    3.2 删除所有学员
4.查询学员
    4.1 输出所有的学员及学员索引(从1开始输出)

    4.2 新功能:根据学员姓名进行搜索(模糊搜索)
0.退出程序'''
#dict1:代表列表中嵌套的包含学员信息的字典
 def add_stu():
    while True:
        print('***************添加学员信息*************')
        name=input('*请输入添加学员姓名:')
        age=input('*请输入添加学员年龄:')
        phone=input('*请输入添加学员手机号码:')
        dict1={'姓名':name,'年龄':age,'手机号码':phone}
        student.append(dict1)
        w=input('是否继续添加y/n?:')
        if w!='y':
            break
    print(student)



def modification_stu():
    num=int(input('请输入你要修改学员的索引:'))
    while num<0 or num>len(student):
        num=int(input('索引超出范围,请重新输入:'))
    if 0<num<=len(student):
        dict1=student[num-1]
        dict1['姓名'] = input('请输入修改后学员姓名:')
        dict1['年龄'] = input('请输入修改后学员年龄:')
        dict1['手机号码'] = input('请输入修改后学员手机号码:')
    print(student)

def query_all_stu():
    if len(student)==0:
        print('暂无学员信息')
        return
    for idx,dict1 in enumerate(student):
        print('索引:%s 姓名:%s 年龄:%s 手机号码:%s'%(idx+1,dict1['姓名'],dict1['年龄'],dict1['手机号码']))


def query_stu():
#查询学员信息
    print('1,查询全部学员')
    print('2,根据关键字查询')
    select=int(input('请输入你的操作:'))
    while select!=1 and select!=2:
        select=int(input('输入有误,请重新输入:'))
    if select==1:
        query_all_stu()
    elif select==2:
            keyword=input('请输入你的关键字:')
            count=0
            if len(student) == 0:
                print('暂无学员信息')
                return
            for idx, dict1 in enumerate(student):
                if keyword in dict1['姓名']:
                    count+=1
                    print('索引:%s 姓名:%s 年龄:%s 手机号码:%s' % (idx + 1, dict1['姓名'], dict1['年龄'], dict1['手机号码']))
            if count==0:
                    print('无匹配信息')
            else:
                print('共查到%s条信息'%count)




def del_stu():
    print('********a,删除全部学员********')
    print('********b,删除个别学员********')
    select = input('请输入你的操作选项:')
    while select != 'a'and select != 'b':
        select = input('输入有误,请重新输入:')
    if select == 'a':
        w = input('是否确定全部删除学员y/n?:')
        if w == 'y':
            query_all_stu()
            del student[:]
            print(student)
    if select == 'b':
        query_all_stu()
        idx=int(input('请输入你要删除的学员索引:'))
        del student[idx-1]
        print(student)

student=[]
while True:
    print('**********学院管理系统3.0************')
    print('***********1,添加学员****************')
    print('***********2,修改学员****************')
    print('***********3,查询学员****************')
    print('***********4,删除学员****************')
    print('***********0,退出系统****************')
    select=int(input('请输入你的操作选项:'))
    while 0>select or select>5:
       select=int(input('你的选项超出范围,请重新输入:'))
    if select==1:
        print('执行添加学员操作')
        add_stu()
    elif select==2:
        print('执行修改学员操作')
        modification_stu()
    elif select==3:
        print('执行查询学员操作')
        query_stu()
    elif select==4:
        print('执行删除学员操作')
        del_stu()
    elif select==0:
        print('退出系统')
        


猜你喜欢

转载自blog.csdn.net/qq_42630844/article/details/80986660