zoukankan      html  css  js  c++  java
  • Python之 七级字典查询

      1 # -*- coding:utf-8 -*-
      2 
      3 
      4 # 作业要求:
      5 # 打印直辖市,省,市,县,区,街道五级菜单;
      6 # 可以一层一层地进入到所有层
      7 # 可以退出到上一层
      8 # 可随时退出程序
      9 
     10 
     11 mapChina = {
     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                     "高桥镇": {},
     43                     "黄花镇": {},
     44                     "暮云镇": {},
     45                     "跳马镇": {},
     46                     "果园镇": {},
     47                     "黄花镇": {
     48                         "泉塘安置小区": {
     49                             "中联重科": {
     50                                 "思想构筑未来": "志存无息,博厚悠远",
     51                             },
     52                             "很多学校": {
     53                                 "各种学校": "各种湖南小吃",
     54                             },
     55                         },
     56                         "黄花机场": {},
     57                         "湖南农业大学": {},
     58                         "徐特立公园": {},
     59 
     60 
     61                     },
     62                 },
     63             },
     64             "株洲市": {
     65                 "攸县": {},
     66                 "茶陵": {},
     67                 "炎陵": {},
     68                 "醴陵": {},
     69             },
     70             "湘潭市": {},
     71             "衡阳市": {},
     72             "邵阳市": {},
     73             "岳阳市": {},
     74             "常德市": {},
     75             "张家界市": {},
     76             "益阳市": {},
     77             "郴州市": {},
     78             "永州市": {},
     79             "娄底市": {},
     80             "怀化市": {},
     81             "湘西少数民族自治区": {},
     82         },
     83         "重庆": {},
     84         "四川": {},
     85         "江西": {},
     86         "陕西": {},
     87         "福建": {},
     88         "上海": {},
     89         "浙江": {},
     90         "其他省市自治区直辖市": {},
     91     }
     92 }
     93 
     94 # print(type(mapChina["中华人民共和国"]))
     95 # print(mapChina["中华人民共和国"]["湖南"])
     96 # print(mapChina["中华人民共和国"]["湖南"]["长沙市"]["长沙县"]["黄花镇"]["泉塘安置小区"]['中联重科'])
     97 
     98 
     99 choose_list = []
    100 mapChina_new = mapChina
    101 
    102 print("输入‘b’键返回上一层,输入‘q’键退出到初始界面,输入‘qq’直接退出程序。")
    103 print(mapChina.keys())
    104 
    105 
    106 while True:
    107 
    108     choose = input("请输入需要访问的区域名称: ")
    109     if choose == 'qq':
    110         break
    111     elif choose == 'q':
    112         mapChina_new = mapChina
    113         continue
    114     elif choose == "b":
    115         if mapChina_new == mapChina:
    116             continue
    117         else:
    118             mapChina_new = choose_list.pop()
    119             for key1 in mapChina_new.keys():
    120                 print(key1)
    121     elif choose in mapChina_new.keys():
    122         choose_list.append(mapChina_new)
    123         mapChina_new = mapChina_new[choose]
    124         for key in mapChina_new.keys():
    125             print(key)
    126     elif not mapChina_new.values():
    127         print("这是最后一层了,请输入‘b’键返回")
    128         continue
    129     else:
    130         print("Invalid Input.Try Again!")
  • 相关阅读:
    [改善Java代码]使用构造块精炼程序
    [改善Java代码]若有必要,使用变长数组
    [改善Java代码]警惕数组的浅拷贝
    [改善Java代码]在明确的场景下,为集合指定初始容量
    [改善Java代码] 枚举项数量限定为64个以内
    [改善Java代码]多种最值算法,适时选择
    [改善Java代码]推荐使用枚举定义常量
    [改善Java代码]性能考虑,数组是首选
    [改善Java代码]用偶判断,不用奇判断
    [改善Java代码]break万万不可忘
  • 原文地址:https://www.cnblogs.com/fengbo1113/p/7912394.html
Copyright © 2011-2022 走看看