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