1. 程式人生 > >python 字典實現三級菜單

python 字典實現三級菜單

one 字典實現 elif hide 用戶 河北 技術 白銀 進入

簡介: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("無此項")
三級菜單

python 字典實現三級菜單