Python 三級菜單
阿新 • • 發佈:2017-09-12
刪除 中關村 true 依次 strip() level aps 代碼 cnblogs
Python 三級菜單
-
需求
- 打印省、市、縣三級菜單
- 可返回上一級
- 可隨時退出程序
- 代碼實現
1 menu = { 2 ‘北京‘:{ 3 ‘海澱‘:{ 4 ‘五道口‘:{ 5 ‘soho‘:{}, 6 ‘網易‘:{}, 7 ‘google‘:{} 8 }, 9 ‘中關村‘:{ 10 ‘愛奇藝‘:{}, 11 ‘View Code汽車之家‘:{}, 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 ‘漢中街‘:{}, 46 }, 47 ‘黃石‘:{ 48 ‘黃石港‘:{}, 49 ‘上窯‘:{}, 50 }, 51 ‘大冶‘:{ 52 ‘商城‘:{}, 53 ‘礦頭‘:{}, 54 }, 55 ‘黃岡‘:{ 56 ‘將軍縣‘:{}, 57 }, 58 }, 59 } 60 61 current_level = menu #記錄當前循環的層 62 last_levels = [] #依次把目前進入的層 存入列表 63 64 while True: 65 for k in current_level: #循環當前層 66 print(k) 67 choice = input("請輸入地址>>: ").strip() 68 if choice == ‘b‘: 69 if len(last_levels) == 0 :break #列表沒有層記錄 就是頂點層 則退出程序 70 current_level = last_levels[-1] #當輸入 b ,退出時 取出上一層 71 last_levels.pop() #當返回上一層時 刪除記錄層級的 72 elif choice == ‘q‘: #當輸入 q ,退出程序 73 exit() 74 if choice not in current_level:continue 75 last_levels.append(current_level) #當前層加入 記錄列表 76 current_level = current_level[choice] #把用戶輸入的層 加入到當前層 然後循環
Python 三級菜單