三级菜单

 1 city = {'北京': {'首都功能核心区': {'东城区':['安定门街道','建国门街道','朝阳门街道','华东门街道'],
 2                                    '西城区': ['西长安街街道', '金融街街道', '广安门内街道', '天街街道']},
 3                        '城市功能拓展区': {'海淀区': ['万寿路街道', '羊坊店街道', '八里庄街道', '紫竹园街道'],
 4                                    '朝阳区': ['和平街街道', '朝外街道', '劲松街道', '三里屯街道']},
 5                        '城市发展新区': {'通州区': ['中仓街道', '新华街道', '玉桥街道', '北苑街道'],
 6                                   '顺义区': ['光明街道', '胜利街道', '石原街道', '双丰街道']},
 7                        '生态涵养发展区': {'怀柔区': ['泉河街道', '龙山街道'], '平谷区': ['兴谷街道', '滨河街道']}},
 8                 '天津': {'市内区': {'和平区': ['劝业场', '体育馆', '南市', '小白楼'],
 9                                 '河西区': ['大营门街道', '下瓦房街道']},
10                        '环城区': {'东丽区': ['张贵庄街道', '丰年村街道'], '西青区': ['西营门街道', '李七庄街道'],
11                                 '北辰区': ['果园新村街道', '普东街道'], '津南区': ['咸水沽镇', '小站镇']},
12                        '沿海': {'滨海新区': ['塘沽街道', '大港街道', '汉沽街道']}},
13                 '上海': {'中心城区': {'黄浦区': ['南京路街道', '外滩街道', '打浦桥街道'],
14                                 '徐汇区': ['湖南路街道', '天平路街道'], '长宁区': ['华阳路街道', '新华路街道']},
15                        '郊区': {'宝山区': ['吴淞街道', '友谊路街道'], '闵行区': ['江川路街道', '新虹街道']}},
16                 '重庆': {'主城区': {'渝中区':['朝天门', '解放碑'], '大渡口区': ['新山村街道', '跃进村街道']},
17                        '郊区': {'綦江区': ['古南街道', '文龙街道'], '大足区': ['棠香街道', '龙岗街道']}}}


首先通过for循环可以遍历出所有的一级菜单:
for i in city.keys():
  print(i)

再次通过选择一级菜单中某个选项遍历二级目录,例如北京:
for i in city['北京'].keys():
  print(i)
最后通过二级菜单中某个选项遍历三级目录中的列表,例如北京的首都功能核心区:
for i in city['北京']['首都功能核心区']:
  print(i)

可以加入返回上级菜单和退出城区的接口如:
command = input("请选择您要查看的城区(输入'r'返回上层菜单输入'q!'退出程序):").strip()
if command == 'r':
break
elif command == 'q!':
exit()
标记位flag用法
 1 flag = True
 2 while flag:
 3     print('我是第一层')
 4     flag1 = True
 5     while flag1:
 6         print('我是第二层')
 7         flag2 = True
 8         while flag2:
 9             print('我是第三层')
10             flag = False
11             flag1 = False
12             flag2 = False


 
原文地址:https://www.cnblogs.com/terrycy/p/5756460.html