Python入門基礎--三級選單
阿新 • • 發佈:2018-11-30
用字典儲存資料
可以隨時返回上一級,隨時退出程式
只能用迴圈判斷等內建方法,不得匯入模組
menu = { '廣東':{ '廣州':{ '越秀區':{ '面積':'33.80', '人口':'115萬', '郵政編碼':'510030', '區政府駐地':'越華路183號', '行政程式碼':'440104' },'天河區':{ '面積':'96.33', '人口':'143萬', '郵政編碼':'510630', '區政府駐地':'天府路1號', '行政程式碼':'440106' },'荔灣區':{ '面積':'59.10', '人口':'89萬 ', '郵政編碼':'510145', '區政府駐地':'中山七路328號', '行政程式碼':'440103' } }, '深圳':{ '福田區':{ '面積':'78.66', '常住人口':'135.71', '戶籍人口':'83.35', '非戶籍人口':'52.36', '郵政編碼':'518000' },'羅湖區':{ '面積':'78.76', '常住人口':'95.37', '戶籍人口':'55.92', '非戶籍人口':'39.46', '郵政編碼':'518001' } } }, '湖北':{ '武漢':{ '礄口區':{ '行政程式碼':'420104', '面積':'41.9', '常住人口':'64萬', '郵政編碼':'430000', '政府駐地':'榮華街道沿江大道518號' },'江岸區':{ '行政程式碼':'420102', '面積':'64.24', '常住人口':'121萬', '郵政編碼':'430014 ', '政府駐地':'四唯街道六合路1號' } }, '黃石':{ '大冶市':{ '面積':'1566.3', '人口':'95.9萬(2014年)', '政府駐地':'東嶽路街道湛月路' },'陽新縣':{ '面積':'2780', '人口':'105.94萬(2014年) ', '政府駐地':'興國鎮儒學路' } } } }
dynamic_menu = menu #實現動態迴圈選單 last_meny_list = [] #儲存所有的父級層的值,最好一個為當前層的上一層 while True: #迴圈打印出當前選單的所有key for key in dynamic_menu: print(key) choice = input('>>>:').strip() if len(choice) == 0:continue #如果沒有輸入則不執行以下程式碼,節約資源 if choice in dynamic_menu: #判斷輸入的值是否在所選範圍 last_meny_list.append(dynamic_menu) #記錄上一層的值存到列表 ,為了實現隨時返回上一層功能 dynamic_menu = dynamic_menu[choice] #動態改成下一層的值 elif choice == '9': #返回上一層 if last_meny_list: dynamic_menu = last_meny_list.pop() elif choice == '886': #退出迴圈 break else: print('無此項'.center(20,'*')) print('bye'.center(30,'/'))