作业:三级菜单

# 作业需求:
#
# 1. 运行程序输出第一级菜单
# 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
# 3. 菜单数据保存在文件中
# 4. 让用户选择是否要退出
# 5. 有返回上一级菜单的功能

data = {
    '海贼王':{
        '草帽海贼团':{
            '路飞':{'果实能力':'橡胶果实','霸气':['武装色霸气','见闻色霸气','霸王色霸气'],'男':21},
            '索罗':{'果实能力':'无','霸气':['武装色霸气','见闻色霸气'],'男':24},
            '香吉士':{'果实能力':'无','霸气':['武装色霸气','见闻色霸气'],'男':23},
        },
        '七武海':{
            '波雅汉库克':{'果实能力':'甜甜果实','霸气':['武装色霸气','见闻色霸气','霸王色霸气'],'女':20},
            '鹰眼米霍克':{'果实能力':'无','霸气':['武装色霸气','见闻色霸气'],'男':26},
            '小丑巴基':{'果实能力':'分裂果实','霸气':'无','男':25},
        },
        '四皇':{
            '香克斯':{'果实能力':'未知','霸气':['武装色霸气','见闻色霸气','霸王色霸气'],'男':28},
            '黑胡子':{'果实能力':'黑暗果实','霸气':['武装色霸气','见闻色霸气'],'男':28},
            '凯多':{'果实能力':'未知','霸气':['武装色霸气','见闻色霸气'],'男':28},
        },

    },
    '妖精的尾巴':{
        '灭龙魔导师':{
            '纳兹':{'属性能力':'火之灭龙魔法','男':21,},
            '伽吉鲁':{'属性能力':'铁之灭龙魔法','男':23,},
            '温蒂':{'属性能力':'天之灭龙魔法','女':18,},
        },
        '超S魔导师':{
            '吉尔达斯':{'属性能力':'粉碎','男':28},
            '艾璐萨':{'属性能力':'变装魔法','女':26},
            '米拉杰':{'属性能力':'变成撒旦','女':27},
        },
        '六魔将':{
            '深夜':{'属性能力':'扭曲空间','男':24},
            '克布拉':{'属性能力':'毒之灭龙魔法','男':24},
            '安吉拉':{'属性能力':'召唤星灵','女':22},
        },
    },
    '火影':{
       '木叶村':{
           '宇智波.鼬': {'属性能力':'万花筒写轮眼','男':26},
           '日向雏田': {'属性能力':'白眼','女':24},
           '我爱罗': {'属性能力':'砂纸守鹤','男':24},
       },
        '晓':{
            '佩恩':{'属性能力':'轮回眼','男':28},
            '鬼鲛':{'属性能力':['水遁','鲛肌'],'男':28},
            '迪达拉':{'属性能力':['黏土炸弹','自爆'],'男':28}
        },
        '代目':{
            '初代':{'姓名':'千手柱间','属性能力':'树诞降临','男':99999},
            '三代':{'姓名':'猿飞','属性能力':['土流大河','召唤猿魔'],'男':64},
            '四代':{'姓名':'波风水门','属性能力':['飞雷神之术','螺旋丸'],'男':34},

        },
    },
}
import sys

def exit():
    print("****查询结果****")
    for el in renwu_list:
        print(el)
    sys.exit()

for m1 in data:
    print(m1)

while 1:
    choice1 = input("请输入你想查询的动漫名字:").strip() #客户选择动漫名字 ,一级菜单
    #判断,根据输入打印菜单

    while 1:
        if choice1 in data:
            for dongman in data[choice1]:
                print('\t',dongman)


            choice2 = input("请输入你想查询的动漫势利名字:>>>'Q键'退出;'B键'返回上一级").strip()  # 客户选择动漫势利 ,二级菜单
            # 判断,根据输入打印菜单
            if choice2 in data[choice1]:
                while 1:
                    for shili in data[choice1][choice2]:
                        print('\t\t', shili)

                    renwu_list = []
                    choice3 = input("请输入你想查询的动漫人物名字:>>>'Q键'退出;'B键'返回上一级").strip()  # 客户选择动漫人物 ,三级菜单
                # 判断,根据输入打印菜单
                    if choice3 in data[choice1][choice2]:
                        renwu_list.append(choice3)
                        for renwu in data[choice1][choice2][choice3].items():
                            renwu_list.append(renwu)
                            print('\t\t\t', renwu)
                        usergoon = input("是否继续?>>>'Q键'退出;'B键'返回上一级").strip()
                        if usergoon.upper() != 'q':
                            continue
                        else:
                           exit()
                    elif choice3 == " " or choice3 == "  ":
                        print("输入不能为空")
                    elif choice3.upper() == 'Q':
                        exit()
                    elif choice3.upper() == 'B':
                        break
                    else:
                        print("漫画不存在,请重新输入!")


            elif choice2 == " " or choice2== "  ":
                print("输入不能为空")
            elif choice2.upper() == 'Q':
                exit()
            elif choice2.upper() == 'B':
                break
            else:
                print("漫画不存在,请重新输入!")

        elif choice1 == " " or choice1 == "  ":
            print("输入不能为空")
        elif choice1.upper() == 'Q':
            exit()
        elif choice1.upper() == 'B':
            print("当前是查询范围最上层")
            break
        else:
            print("漫画不存在,请重新输入!")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值