简介:1.用字典建立一个省市县的三级菜单
2.开始显示所有的省份,输入要进入的省份之后,显示该省份下的所有市,输入市显示该市下的所有县
3.在每一级菜单下都可以返回到上一层菜单
4.随时可以退出
1 menu = {
2 "北京": {
3 "海淀": {
4 "清华":{},
5 "北大":{},
6 "人大":{}
7 },
8 "朝阳": {
9 "腾讯":{},
10 "百度":{},
11 "阿里":{}
12 },
13 "通州": {
14 "防灾":{},
15 "华科":{}
16 }
17 },
18 "甘肃": {
19 "庆阳": {
20 "环县":{},
21 "宁县":{}
22 },
23 "白银": {
24 "白银1县": {},
25 "白银2县": {},
26 "白银3县": {}
27 },
28 "武威": {
29 "武威1县": {},
30 "武威2县": {},
31 "武威3县": {},
32 "武威4县": {}
33 }
34 },
35 "河北": {
36 "廊坊": {
37 "廊坊1县": {},
38 "廊坊2县": {},
39 "廊坊3县": {}
40 },
41 "承德": {
42 "承德1县": {},
43 "承德2县": {},
44 "承德3县": {}
45 },
46 "保定": {
47 "保定1县": {},
48 "保定2县": {},
49 "保定3县": {}
50 }
51 }
52 }
53
54 current_layer = menu # 实现动态循环
55 parent_layers = [] # 保存所有所有父级 最后一个元素永远都是父亲级
56 while True:
57 for key in current_layer:
58 print(key)
59 choice = input(">>>:")
60 if len(choice) == 0:
61 continue
62 if choice in current_layer:
63 parent_layers.append(current_layer) # 在进入下一层前,把当前层(也就是下一层的父级)
64 # 追加到列表中,下一次loop,当用户选择Q时,直接取列表的最后一个值出来
65 current_layer = current_layer[choice] # 改成子层
66 elif choice == "Q":
67 if parent_layers:
68 current_layer = parent_layers.pop() # 取出列表的最后一个元素,因为它就是当前层的父级
69 else:
70 print("无此项")