1 menu = {
2 '北京':{
3 '海淀':{
4 '五道口':{
5 'soho':{},
6 '网易':{},
7 'google':{}
8 },
9 '中关村':{
10 '爱奇艺':{},
11 '汽车之家':{},
12 'youku':{},
13 },
14 '上地':{
15 '百度':{},
16 },
17 },
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 }
1 menus=menu #当前层
2 menu_list=[menu] #下一层。把字典转成列表,
3 # 再进行列表操作。
4 while True:
5 for key in menu:
6 print(key)
7 city=input("请选择:").strip()
8 if city=="": pass #空操作
9 if city in menus: #判断用户输入是否存在,如果存在就进入下一层
10 menu_list.append(menus)
11 # 当前层添加到列表(这里相当是用户输入的键,保存用户的值
12 # 返回时通过键来取对应的值
13 menus=menus[city] #用户当前层再进入下一层后。
14 if city=="b":
15 if menu_list:
16 menus=menu_list[-1]#取上一层的值,#赋值给menus
17 menu_list.pop()
18 if city=="q": break