要求:
1.现有省市县三级,要求程序启动之后,用户可以依次进入选择的目录。
2.用户可以随时返回或退出任何一级目录
1 menu ={ 2 ‘四川省‘:{ 3 ‘成都市‘:{ 4 ‘高新区‘:{ 5 ‘支付宝‘:{}, 6 ‘阿里巴巴‘:{}, 7 ‘欧洲金融中心‘:{}, 8 }, 9 ‘都江堰‘:{ 10 ‘都江堰‘:{}, 11 ‘青城山‘:{}, 12 ‘水墨‘:{}, 13 }, 14 }, 15 ‘攀枝花市‘:{ 16 ‘仁和区‘:{ 17 ‘平地‘:{}, 18 ‘总发‘:{}, 19 ‘房山‘:{}, 20 }, 21 ‘西区‘:{ 22 ‘攀钢‘:{}, 23 ‘发电厂‘:{}, 24 }, 25 }, 26 }, 27 ‘江苏省‘:{ 28 ‘闵行‘:{ 29 "人民广场":{ 30 ‘炸鸡店‘:{} 31 } 32 }, 33 ‘闸北‘:{ 34 ‘火车战‘:{ 35 ‘携程‘:{} 36 } 37 }, 38 ‘浦东‘:{}, 39 }, 40 } 41 # # 打印总的省级 42 flag = True 43 while flag: 44 for province in menu.keys(): 45 print(province) #输出省级城市1级 46 province = menu.keys() 47 user_pro = input(‘请输入一个省级名称:‘) 48 if user_pro == ‘f‘ or user_pro == ‘F‘: 49 print(‘已经是最top了哦‘) 50 elif user_pro == ‘q‘ or user_pro == ‘Q‘: 51 flag = False 52 break 53 elif user_pro in province: # 判断用户输入的在不在省级列表里面 54 for city in menu[user_pro].keys(): 55 print(city) # 输出市级城市2级 56 else: 57 print(‘请按要求输入:‘) 58 59 while flag: 60 user_city = input(‘请输入一个市级名称:‘) 61 city = menu[user_pro].keys() 62 if user_city in city: # 判断用户输入的在不在市级列表里面 63 for county in menu[user_pro][user_city].keys(): 64 print(county) # 输出县级城市3级 65 elif user_city == ‘q‘ or user_city ==‘Q‘: 66 flag = False 67 break 68 elif user_city ==‘f‘ or user_city ==‘F‘: 69 break 70 else: 71 print(‘请按要求输入:‘) 72 while flag: 73 user_coun = input(‘请输入一个县级名称:‘) 74 county = menu[user_pro][user_city].keys() 75 if user_coun in county: # 判断用户输入的在不在县级列表里面 76 for town in menu[user_pro][user_city][user_coun].keys(): 77 print(town) # 输出镇级、公司名字4级 78 elif user_coun ==‘q‘ or user_coun ==‘Q‘: 79 flag = False 80 break 81 elif user_coun == ‘f‘ or user_coun ==‘F‘: 82 break 83 else: 84 print(‘请按要求输入:‘) 85 #此程序存在bug 返回时不能出现上级目录名,最小单位建议使用列表来存储。(python 2 和pyhton3 之间有一个疑问)python2 可以在字典中写成menu.keys()[0]或menu.keys()[1]
但是python3中key()键值是唯一的,没有index来编号。
后面学习的过程中会继续改进程序,暂且这样吧!