# -*- coding:utf- -*-

 # 作业要求:
# 打印直辖市,省,市,县,区,街道五级菜单;
# 可以一层一层地进入到所有层
# 可以退出到上一层
# 可随时退出程序 mapChina = {
"中华人民共和国": {
"北京": {
"市区": {
"东城区": {},
"西城区": {},
"朝阳区": {},
"海淀区": {},
"石景山区": {},
"丰台区": {},
},
"远郊区": {
"顺义区": {},
"怀柔区": {},
"密云区": {},
"延庆县": {},
"昌平区": {},
"平谷区": {},
"门头沟区": {},
"房山区": {},
"通州区": {},
},
},
"湖南": {
"长沙市": {
"望城县": {},
"宁乡县": {},
"浏阳县级市": {},
"长沙县": {
"福临镇": {},
"白沙乡": {},
"高桥镇": {},
"黄花镇": {},
"暮云镇": {},
"跳马镇": {},
"果园镇": {},
"黄花镇": {
"泉塘安置小区": {
"中联重科": {
"思想构筑未来": "志存无息,博厚悠远",
},
"很多学校": {
"各种学校": "各种湖南小吃",
},
},
"黄花机场": {},
"湖南农业大学": {},
"徐特立公园": {}, },
},
},
"株洲市": {
"攸县": {},
"茶陵": {},
"炎陵": {},
"醴陵": {},
},
"湘潭市": {},
"衡阳市": {},
"邵阳市": {},
"岳阳市": {},
"常德市": {},
"张家界市": {},
"益阳市": {},
"郴州市": {},
"永州市": {},
"娄底市": {},
"怀化市": {},
"湘西少数民族自治区": {},
},
"重庆": {},
"四川": {},
"江西": {},
"陕西": {},
"福建": {},
"上海": {},
"浙江": {},
"其他省市自治区直辖市": {},
}
} # print(type(mapChina["中华人民共和国"]))
# print(mapChina["中华人民共和国"]["湖南"])
# print(mapChina["中华人民共和国"]["湖南"]["长沙市"]["长沙县"]["黄花镇"]["泉塘安置小区"]['中联重科']) choose_list = []
mapChina_new = mapChina print("输入‘b’键返回上一层,输入‘q’键退出到初始界面,输入‘qq’直接退出程序。")
print(mapChina.keys()) while True: choose = input("请输入需要访问的区域名称: ")
if choose == 'qq':
break
elif choose == 'q':
mapChina_new = mapChina
continue
elif choose == "b":
if mapChina_new == mapChina:
continue
else:
mapChina_new = choose_list.pop()
for key1 in mapChina_new.keys():
print(key1)
elif choose in mapChina_new.keys():
choose_list.append(mapChina_new)
mapChina_new = mapChina_new[choose]
for key in mapChina_new.keys():
print(key)
elif not mapChina_new.values():
print("这是最后一层了,请输入‘b’键返回")
continue
else:
print("Invalid Input.Try Again!")

Python之 七级字典查询的更多相关文章

  1. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  2. python之路--字典

    一. 字典 字典是以key:value的形式来保存数据的,用{}表示 字典的增删改查 字典的增加 dic = {"意大利": "李云龙", "美国&q ...

  3. python 实现有序字典

    python 实现有序字典 Python默认的字典,是不按顺序存储.输出我们添加在字典中的内容的,即是无序的字典.python 使用OrderedDict函数实现有序的字典. 示例: d = dict ...

  4. python操作oracle数据库-查询

    python操作oracle数据库-查询 参照文档 http://www.oracle.com/technetwork/cn/articles/dsl/mastering-oracle-python- ...

  5. python入门14 字典dict

    字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...

  6. python 三方库字典

    参考:https://github.com/jobbole/awesome-python-cn 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 ...

  7. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  8. Python基础知识---字典

    现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典:  key --> valu ...

  9. Python 代码实现模糊查询

    Python 代码实现模糊查询 1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的文件名,并提供一个推荐列 ...

随机推荐

  1. 一起学Android之Activity

    概述 本文以一个简单的小例子,简述Android开发中Activity的相关知识,仅供学习分享使用. 什么是Activity? Activity是一个应用程序组件,通常显示为一个页面,用户可以通过Ac ...

  2. 2015 ACM-ICPC国际大学生程序设计竞赛北京赛区网络赛 1002 Mission Impossible 6

    题目链接: #1228 : Mission Impossible 6 解题思路: 认真读题,细心模拟,注意细节,就没有什么咯!写这个题解就是想记录一下rope的用法,以后忘记方便复习. rope(块状 ...

  3. HDU2586(tarjanLCA板子)

    ; int T, n, m; int f[maxn], vis[maxn], dis[maxn], ans[maxn]; vector<P> vc[maxn]; vector<int ...

  4. LCA UESTC 92 Journey

    题目传送门 题意:先给一棵树,然后有一条额外的边,问u走到v从现在最短的路走和原来不加边走的路节省了多少距离 分析:首先跑不加边的树的LCA,这样能求出任意两点的距离,那么现在x和y多连了一条边,如果 ...

  5. cmd命令下执行jar包程序

     在cmd中使用指令来执行jar包 概述: 今天有一个需求,要在cmd中执行.jar文件 实践: 1.新建你的Hello world 2.导出到jar包 3.打开你的成功导出的jar包 4.打开文件夹 ...

  6. Suricata的性能

    不多说,直接上干货! 见官网 https://suricata.readthedocs.io/en/latest/performance/index.html Docs » 7. Performanc ...

  7. 取URL中各个参数的值

    取参数值的方法有很多,个人记录一个方便好用的 //查询参数(参数名)function GetQueryString(name) {    var reg = new RegExp("(^|& ...

  8. H+后台主题UI框架---整理(一)

    本篇文章是对H+这种框架进行整理,顺便了解一下标准的代码规范的写法. 一.表单: 1).下面是一个基本表单: 现在来看这个表单的结构: 1.整个表单的外框结构是一个div,至于padding和marg ...

  9. ES6学习笔记(3)----字符串的扩展

    参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 字符串的扩展ES6之前只能识别\u0000 - \uFFFF 之间的字符,超过此范围,识别会出错 ...

  10. IOS 根据身份证号码获取 年龄 生日 性别

    /** 从身份证上获取年龄 18位身份证 */ -(NSString *)getIdentityCardAge:(NSString *)numberStr { NSDateFormatter *for ...