三级菜单项目

三级菜单项目

#_author:Mr. Kin Yet
#date:2019/10/28
#打印三级目录
#1.可以一层一层进入到所有层
#2.可以在每一层返回上一层
#3.可以在任意层退出主菜单
menu={
'北京':{
'朝阳':{
'国贸':{
'CICC':{},
'HP':{},
'渣打银行':{},
'CCTV':{},
},
'望京':{
'MoMo':{},
'奔驰':{},
'360':{}
},
'三里屯':{
'优衣库':{},
'苹果':{}

},
},
'昌平':{
'沙河':{
'老男孩':{},
'阿泰包子':{}
},
'天通苑':{
'链家':{},
'我爱我家':{}
},
'回龙观':{}
},
'海淀':{
'五道口':{
'谷歌':{},
'网易':{},
'搜狐':{},
'搜狗':{},
'快手':{},
'清华':{},
'北大':{},
'民大':{},
'地址科技大学':{},
},
'中关村':{
'优酷':{},
'爱奇艺':{},
'汽车之家':{},
'新东方':{},
'腾讯':{},

}
}

},
'上海':{
'浦东':{
'陆家嘴':{
'CICC':{},
'摩根':{},
'高盛':{},
},
'外滩':{},

},
'闵行':{},
'静安':{},
},
'广州':{},
'山东':{
'济南':{

},
'德州':{
'乐凌':{
'丁务镇':{}
},
'平原':{},

},
'青岛':{},
},
}
back_flag=False
exit_flag=False
while not back_flag and not exit_flag:
for key in menu:
print(key)
chose=input('>>1').strip()
if chose == 'q':
exit_flag = True
if chose in menu:
while not back_flag and not exit_flag:#让程序停在第二层
for key2 in menu[chose]:
print(key2)
chose2 = input('>>2').strip()
if chose2 == 'b':
back_flag = True
if chose2 == 'q':
exit_flag = True
if chose2 in menu[chose]:
while not back_flag and not exit_flag:
for key3 in menu[chose][chose2]:
print(key3)
chose3=input('>>3').strip()
if chose3 == 'b':
back_flag = True
if chose3 == 'q':
exit_flag = True
if chose3 in menu[chose][chose2]:
while not back_flag and not exit_flag:
for key4 in menu[chose][chose2][chose3]:
print(key4)
chose4 = input('>>4').strip()
print('least level')
if chose4=='b':
back_flag=True
if chose4=='q':
exit_flag=True
else:
back_flag=False
else:
back_flag = False
else:
back_flag = False
Output:

北京
上海
广州
山东
>>1北京
朝阳
昌平
海淀
>>2昌平
沙河
天通苑
回龙观
>>3沙河
老男孩
阿泰包子
>>4b
least level
沙河
天通苑
回龙观
>>3q

进程已结束,退出代码0




原文地址:https://www.cnblogs.com/startl/p/11754133.html