要求:spa
Readme:code
運行程序,輸入菜單選項,進入對應的子菜單blog
# Joe Young data = { '山東':{ '濟南':[ '市中區', '天橋區', '歷下區', '槐蔭區', '歷城區', '章丘市', '長清縣', '平陰縣', '濟陽縣', '商河縣' ], '青島':[ '市南區', '市北區', '四方區', '李滄區', '黃島區', '嶗山區', '城陽區', '膠州市', '即墨市', '平度市', '膠南市', '萊西市' ], '棗莊':[ '市中區', '寒亭區', '臺兒莊', '嶧城區', '薛城區', '滕州市' ], '東營':[ '東營區', '河口區', '牛莊區', '利津縣', '墾利縣', '廣饒縣' ], '濰坊':[ '濰城區', '坊子區', '寒亭區', '奎文區', '青州市', '諸城市', '壽光市', '安丘市', '高密市', '昌邑市', '昌樂縣', '臨朐縣' ], '濱州':[ '濱州市', '沾化縣', '博興縣', '鄒平縣', '惠民縣', '陽信縣', '無棣縣' ], '煙臺':[ '芝罘區', '福山區', '萊山區', '牟平區', '龍口市', '萊陽市', '蓬萊市', '招遠市', '棲霞市', '海陽市', '萊州市', '長島縣' ], '濟寧':[ '市中區', '任城區', '曲阜市','兗州市', '鄒城市', '汶上縣', '泗水縣', '微山縣', '金鄉縣','嘉祥縣', '魚臺縣' ], '泰安':[ '泰山區', '郊區', '新泰市', '肥城市', '寧陽縣', '東平縣' ], '威海':[ '環翠區', '榮城市', '文登市', '乳山市' ], '日照': [ '東港區', '五蓮縣', '莒縣' ], '萊蕪': [ '萊城區', '鋼城區' ], '臨沂': [ '蘭山區', '羅莊區', '河東區', '沂南縣', '沂水縣', '莒南縣', '臨沭縣', '郯城縣', '蒼山縣', '費縣', '平邑縣', '蒙陰縣' ], '菏澤': [ '菏澤市', '鄄城縣', '鉅野縣', '成武縣', '單縣', '定陶縣', '曹縣', '東明縣', '鄆城縣' ], '聊城': [ '東昌府區', '臨清市', '高唐縣', '茌平縣', '東阿縣', '陽谷縣', '莘縣', '冠縣' ], '德州': [ '德州區', '樂陵市', '禹城市', '陵縣', '平原縣', '夏津縣', '武城縣', '齊河縣', '臨邑縣', '寧津縣', '慶雲縣' ] }, '北京':{ '東城區':[ '安定門', '建國門', '朝陽門', '東直門', '東華門' ], '西城區':[ '西長安街', '金融街', '牛街', '廣安門內', '廣安門外' ], '朝陽區':[ '南磨房', '高碑店', '將臺', '太陽宮', '小紅門' ], '豐臺區':[ '右安門', '太平橋', '西羅園', '大紅門', '南苑' ], '石景山區':[ '八寶山', '老山', '八角', '古城', '蘋果園' ], '海淀區':[ '萬壽路', '羊坊店', '甘家口', '八里莊', '紫竹院' ] }, '天津':{ '西青區':{ '西營門街道', '李七莊街道', '赤龍南街道', '赤龍北街道', '中北鎮' }, '和平區':{ '勸業場街道', '小白樓街道', '五大道街道', '新興街道', '南營門街道' }, '河東區':{ '大王莊街道', '大直沽街道', '中山門街道', '富民路街道', '二號橋街道' }, '河西區':{ '大營門街道', '下瓦房街道', '桃園街道', '掛甲寺街道', '馬場街道' }, '南開區':{ '長虹街道', '鼓樓街道', '興南街道', '廣開街道', '萬興街道' } } } while True: for i in data: # 輸出一級菜單 print(i) level1 = input('選擇進入,或輸入q退出:') if level1 == 'q': # 輸入'q'退出 exit() if level1 not in data: # 判斷輸入是否正確 print('輸入有誤,請從新輸入:') continue else: while True: for j in data[level1]: # 輸出二級菜單 print('\t', j) level2 = input('選擇進入,輸入b返回上一級,輸入q退出:') if level2 == 'q': # 輸入'q'退出 exit() elif level2 == 'b': # 輸入'b'返回一級菜單 break else: if level2 not in data[level1]: # 判斷輸入是否正確 print('輸入有誤,請從新輸入:') continue # 輸入有誤,結束本次循環 else: for k in data[level1][level2]: # 輸出三級菜單 print('\t\t', k) flag = True while flag: choice = input('輸入b返回上一級,輸入q退出:') if choice == 'b': flag = False elif choice == 'q': exit() else: continue else: # 輸入'b' 時,flag = False,結束 119 行的 while 循環 continue