三级列表展示

#__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('无此项')

转载于:https://www.cnblogs.com/xuxu-learn-python/p/7816004.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值