三级菜单(高大上版)

 1 menu = {
 2     '北京':{
 3         '朝阳':{
 4             '国贸':{
 5                 'CICC':{},
 6                 'HP':{},
 7                 '渣打银行':{},
 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                 '搜狐':{},
36                 '搜狗':{},
37                 '快手':{},
38             },
39             '中关村':{
40                 '优酷':{},
41                 '爱奇艺':{},
42                 '汽车之家':{},
43                 '新东方':{},
44                 '腾讯':{},
45             },
46         },
47     },
48     '上海':{
49         '浦东':{
50             '陆家嘴':{
51                 'CICC':{},
52                 '高盛':{},
53                 '摩根':{},
54             },
55             '外滩':{},
56         },
57         '闵行':{},
58         '静安':{},
59     },
60     '山东':{
61         '济南':{},
62         '青岛':{},
63         '德州':{
64             '乐陵':{
65                 '丁务镇':{},
66                 '城区':{},
67             },
68             '平原县':{},
69         },
70     },
71 }
72 current_layer = menu   #实现动态循环
73 parent_layers = []   #保存所有父集,最后一个元素永远都是父亲集
74 while True:
75     for key in current_layer:
76         print(key)
77     choice = input('>>>:').strip()
78     if len(choice) == 0:continue
79     if choice in current_layer:
80         parent_layers.append(current_layer)  #在进入下一层之前,把当前层追加到列表中,当用户选择b的时候就可以取列表的最后一个元素出来
81         current_layer = current_layer[choice]  #改成了子层
82     elif choice == 'b':
83         if parent_layers:
84             current_layer = parent_layers.pop()  #取出列表的最后一个值,它就是当前层的父亲集
85     else:
86         print('无此项')

猜你喜欢

转载自www.cnblogs.com/songzhixue/p/9125083.html