用pyhton 写一个简单的三级列表

要求:

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来编号。

后面学习的过程中会继续改进程序,暂且这样吧!

posted @ 2018-01-07 11:27  jeep-鹏  阅读(176)  评论(0)    收藏  举报