# -*- 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