用python选择及显示三级目录,可返回上层目录以及随时跳出。

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

 

转载于:https://www.cnblogs.com/yinggangzhang/p/5717897.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值