day7 新三级菜单

 1 # 简单吧简单吧,用动态变量不停的改变进行遍历
 2 menu = {
 3     "北京":{
 4         "朝阳":{
 5                 "国贸":{
 6                     "CICC":{},
 7                     "HP":{},
 8                     "CCTV":{},
 9 },
10                 "望京":{
11                     "陌陌":{},
12                     "奔驰":{},
13                     "360":{},
14                 },
15                 "三里屯":{
16                     "优衣库":{},
17                     "apple":{},
18                 }
19 },
20         "昌平":{
21             "沙河":{
22                 "老男孩":{},
23                 "阿泰包子":{},
24             },
25             "天通苑":{
26                 "链家":{},
27                 "我爱我家":{},
28             },
29             "回龙观":{},
30         },
31         "海淀":{
32             "五道口":{
33                 "谷歌":{},
34                 "网易":{},
35                 "Sohu":{},
36                 "Sogo":{},
37                 "快手":{},
38                   },
39             "中关村":{
40                 "youku":{},
41                 "Iqiyi":{},
42                 "汽车之家":{},
43                 "新东方":{},
44                 "腾讯":{},
45 
46 },
47 },
48     },
49     "上海":{
50         "浦东":{
51             "陆家嘴":{
52                 "CICC":{},
53                 "高盛":{},
54                 "摩根":{},
55             },
56             "外滩":{},
57         },
58         "闵行":{},
59         "静安":{},
60         "":{},
61     },
62     "山东":{
63         "济南":{},
64         "德州":{
65             "乐陵":{
66                 "顶乌镇":{},
67                 "城区":{},
68             },
69             "平原":{},
70         },
71         "青岛":{},
72     },
73 }
74 
75 current_layer = menu  #实现动态循环的初始变量
76 # parent_layer = menu
77 parent_layers = []    #保存父籍,最后一个元素永远都是父亲籍
78 while True :
79     for key in current_layer:
80         print(key)
81     choice = input(">>>:").strip()
82     if    len(choice) == 0:continue
83     if choice in current_layer:
84         parent_layers.append( current_layer)   #在进下一层之前把当前层进行尾部追加,即下一层的父亲籍
85         current_layer = current_layer[choice]  #将要被遍历的字典范围根据用户输入进行缩减范围
86     elif choice == "b":
87         if parent_layers:
88             current_layer = parent_layers.pop()#进行最后一个的弹出并赋值返回父亲层
89     else:
90         print("无此项")

 

转载于:https://www.cnblogs.com/shijieli/p/9681359.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值