#__author__:Administrator}
#data: 2017/11/10
menu = {
'北京':{
'朝阳':{
'国贸':{
'cicc':{},
'HP': {},
'渣打银行': {},
'cctv': {},
},
'望京':{
'默默':{},
'奔驰':{},
'360':{},
},
'三里屯':{
'优衣库':{},
'apple':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'包子':{},
},
'天通苑':{
'链家':{},
'我爱我家':{},
},
'回龙观':{
},
},
'海淀':{
'五道口':{
'谷歌':{},
'网易':{},
'搜狐':{},
},
'中关村':{
'youku':{},
'iqiyi':{},
'新东方':{},
'汽车之家':{},
'qq':{},
},
},
},
'上海':{
'浦东':{
'陆家嘴':{
'cicc':{},
'高盛':{},
'摩根':{},
},
'外滩':{},
},
'闵行':{},
'静安':{},
},
'山东':{
'青岛':{},
'济南':{},
'德州':{
'乐陵':{
'丁武县':{},
},
'平原县':{},
},
},
}
current_layer = menu#实现动态循环
#parent_layer = menu
parent_layers = []#保存所有父级,最后一个元素永远都是父级
while True:
for key in current_layer:
print(key)
choice = input('>>>').strip()
if choice in current_layer:
#parent_layer = current_layer#记录父层
parent_layers.append(current_layer)#在进入下一层之前,把当前层追加到列表中
#下一次loop,当用户选择b的时候,就可以直接选择列表最后一个值出来
current_layer = current_layer[choice]#改成了子层
elif choice =='b':
#current_layer = parent_layer #把子层轧成父层
if parent_layers:
current_layer = parent_layers.pop()#取出列表的最后一个值,因为他就是列表的最后一个值
else:
print('无此项')
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步