三级菜单
1. 现有省、市、县3级结构,要求程序启动后,允许用户可依次选择进入各子菜单
2. 可在任意—级菜单返回上—级
3. 可以在任意—级菜单退出程序
环境:Pycharm,Python3.7
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}
now_choice=menu
history=[]
while True:
for i in now_choice:
print(i)
choose=input("Please choose a part")
if not choose:continue
if choose in now_choice:
history.append(now_choice)
#这时存历史选择的列表,注意里存的是字典,可以理解为路径
now_choice=now_choice[choose]
#递归,不断更新变量
elif choose == 'q':
if len(history) != 0:
#now_choice=history[-1]
#返回上一个路径
#del history[-1]
now_choice=history.pop()
else:
print("This is the top!")
elif choose == 'e':
exit()
else:
print("erro!")