# -*- coding: utf-8 -*-
"""
Created on Fri Jul 29 09:43:38 2016
@author: yinggang
"""
'''制作一個三級目錄,利用列表和字典滿足以下功能:
1 選擇主目錄后彈出下級菜單繼續選擇
2 在任一菜單下 按b返回,按終止選擇
'''
'''第一個比較長的代碼,第一個博客。wish you sttruggle for your dreamming life!'''
1 # -*- coding: utf-8 -*- 2 """ 3 Created on Fri Jul 29 09:43:38 2016 4 5 @author: yinggang 6 """ 7 '''制作一個三級目錄,利用列表和字典滿足以下功能: 8 1 選擇主目錄后彈出下級菜單繼續選擇 9 2 在任一菜單下 按b返回,按終止選擇 10 ''' 11 #一級菜單,省份 12 province = ['陝西省','甘肅省','湖南省'] 13 14 #各個省份的城市,二級菜單目錄 15 shanxi_province = ['西安市','咸陽市','寶雞市','榆林市'] 16 gansu_province = ['蘭州市','武威市','酒泉市'] 17 hunan_province = ['長沙市','郴州市'] 18 #關聯省-市 19 city = {'陝西省':shanxi_province,'甘肅省':gansu_province,'湖南省':hunan_province} 20 21 #各個城市的分區,依次為西安 咸陽 寶雞 榆林 蘭州 武威 酒泉 長沙 郴州 22 area_xi_an = ['未央區','蓮湖區'] 23 area_xian_yang = ['實驗中學','武功縣'] 24 area_bao_ji = ['寶雞中學'] 25 area_yu_lin = ['市區','米脂縣','榆林鎮'] 26 area_lan_zhou = ['貼','胡'] 27 area_wu_wei = ['小雨','xiaoyu'] 28 area_jiu_quan = ['酒泉市','玉門市'] 29 area_chang_sha = ['岳麓區','金沙'] 30 area_chen_zhou = ['1區','2區'] 31 32 #將市-區關聯起來 33 area = {'西安市':area_xi_an,'咸陽市':area_xian_yang,'寶雞市':area_bao_ji,'榆林市':area_yu_lin,'蘭州市':area_lan_zhou,'武威市':area_wu_wei,'酒泉市':area_jiu_quan,'長沙市':area_chang_sha,'郴州市':area_chen_zhou} 34 35 #定義一個循環函數,方便跳出 #定義一個break——flag變量,來直接跳出多層循環 36 def loop(): 37 print('你已經退出') 38 break_flag = False 39 while True: 40 if break_flag: 41 break 42 print(province) 43 province_choice = input('輸入123,選擇相應省份.q直接退出該應用,b返回上級目錄\n') 44 if province_choice == 'q' or province_choice == 'b': 45 loop() 46 break 47 while True: 48 #顯示二級菜單,並讓用戶選擇 49 city_xianshi = city[province[int(province_choice)-1]] 50 if break_flag: 51 break 52 print(city_xianshi) 53 city_choice = input('輸入1234,對應相應城市,q直接退出該應用,b返回上級目錄\n') 54 if city_choice == 'b': 55 break 56 if city_choice == 'q': 57 loop() 58 break_flag = True 59 break 60 area_xianshi = area[city_xianshi[int(city_choice)-1]] 61 print(area_xianshi) 62 while True: 63 #選擇區 64 area_choice = input('輸入1234,對應相應區或縣,q直接退出該應用,b返回上級目錄\n') 65 if area_choice == 'b': 66 break 67 elif area_choice == 'q': 68 break_flag = True 69 loop() 70 break 71 else: 72 print('your home is %s %s %s'%(province[int(province_choice)-1],city_xianshi[int(city_choice)-1],area_xianshi[int(area_choice)-1])) 73 break_flag = True 74 loop() 75 break