# 作业需求:
#
# 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("漫画不存在,请重新输入!")
来源:CSDN
作者:weixin_39660404
链接:https://blog.csdn.net/weixin_39660404/article/details/104630418