python 字典实现三级菜单

简介: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("无此项")
三级菜单
原文地址:https://www.cnblogs.com/ss-long/p/10291714.html