china_map
=
{
"华南"
:{
"广东"
:[
"广州市"
,
"佛山市"
,
"深圳市"
,
"东莞市"
],
"广西"
:[
"南宁市"
,
"柳州市"
,
"桂林市"
,
"北海市"
],
"海南"
:[
"海口市"
,
"三亚市"
,
"三沙市"
,
"儋州市"
]
},
"华东"
:{
"上海"
:[
"黄浦区"
,
"卢湾区"
,
"徐汇区"
,
"长宁区"
,
"普陀区"
],
"安徽"
:[
"合肥市"
,
"芜湖市"
,
"淮南市"
,
"马鞍山市"
],
"江苏"
:[
"南京市"
,
"无锡市"
,
"徐州市"
,
"常州市"
,
"苏州市"
]
},
"华北"
:{
"北京"
:[
"东城区"
,
"西城区"
,
"朝阳区"
,
"丰台区"
,
"石景山区"
,
"海淀区"
],
"山西"
:[
"太原市"
,
"大同市"
,
"阳泉市"
,
"长治市"
],
"河北"
:[
"石家庄市"
,
"唐山市"
,
"秦皇岛市"
,
"邢台市"
]
},
"华中"
:{
"湖北"
:[
"武汉市"
,
"黄石市"
,
"十堰市"
,
"十堰市"
],
"河南"
:[
"郑州市"
,
"开封市"
,
"洛阳市"
,
"平顶山市"
],
"湖南"
:[
"长沙市"
,
"株洲市"
,
"衡阳市"
,
"邵阳市"
]
},
"西南"
:{
"重庆"
:[
"万州区"
,
"涪陵区"
,
"渝中区"
,
"大渡口区"
],
"四川"
:[
"成都市"
,
"自贡市"
,
"攀枝花市"
,
"德阳市"
],
"贵州"
:[
"贵阳市"
,
"六盘水市"
,
"遵义市"
,
"安顺市"
],
},
"特别行政区"
:{
"香港"
:[
"屯门"
,
"弯仔"
,
"北角"
,
"西贡"
],
"澳门"
:[
"花地玛堂区"
,
"圣安多尼堂区"
,
"大堂区"
,
"望德堂区"
],
},
}
print
(
"-------------------------------------------------"
)
print
(
"+ +"
)
print
(
"+ +"
)
print
(
"+ 欢迎来到大中华地区查询系统地 +"
)
print
(
"+ +"
)
print
(
"+ +"
)
print
(
"-------------------------------------------------"
)
print
(
"大中华地区一级划分:"
)
for
i
in
china_map:
#遍历字典的key,列出大中华地区的名字
print
(i)
print
(
"-------------------------------------------------"
)
jump_flag
=
False
#用于跳出外循环
for
i
in
range
(
3
):
#外循环,指定循环3次,3次外循环完了,就退出程序
greater_china_name
=
input
(
"请输入你要查看的大中华地区名字:"
)
if
greater_china_name
in
china_map:
#检查输入的地区是否在地图中,如果地区名字3次输入错误,程序退出
gc_name
=
china_map[greater_china_name]
province_name
=
gc_name.keys()
#使用输入的信息作为key,取出省信息,存在字典中
while
True
:
#内循环,死循环,不指定循环次数,通过break或者flag跳出
print
(
"------------------包含的省名字二级:-----------------"
)
#分隔线
for
i
in
province_name:
#遍历列表,取出省名字,打印出来
print
(i)
print
(
"-------------------------------------------------"
)
#分隔线
sheng_name_input
=
input
(
"请输入你要查看的省名字:"
)
if
sheng_name_input
in
province_name:
#判断输入的省名字是否在地区列表中
shi_name
=
china_map[greater_china_name][sheng_name_input]
#取出省中有哪些市,存在列表中
print
(
"--------------包含的城市名三级:-------------------"
)
#分隔线
for
i
in
shi_name:
#遍历列表,取出地区市名字,打印出来
print
(i)
print
(
"------------------------------------------------"
)
#分隔线
if
sheng_name_input
not
in
province_name:
#如果输入的省名字不在在地区列表中
print
(
"输入的省名字不对,请重新输入"
)
continue
#跳出当次迭代,开始下一次迭代循环,直到地市名字输入正确为止(不停的要求输入)
back_or_quit
=
input
(
"请问是否退出?按b:Back是返回上一级菜单;按q:Exit是退出整个程序"
)
#显示完地区市后,就要退出程序了,一个是全部退出,一个是返回上一级菜单
if
back_or_quit
=
=
"q"
:
jump_flag
=
True
#用于跳出外循环
break
#跳出while内循环
if
back_or_quit
=
=
"b"
:
continue
# 跳出当次迭代,开始下一次迭代循环,重新输入省处,返回上一步
print
(
"你输入的信息有误,请重新输入"
)
if
jump_flag:
#跳出外循环的条件满足
break
#跳出外循环
else
:
#上面的3次for循环正常执行完毕,else才会执行,如果是不正常退出(break),else不会执行
print
(
"3次输入错误,程序退出"
)
python 三级联动的更多相关文章
-
python三级联动
#以字典的形式 保存相关省市数据 menu={ '北京':{ '朝阳':{ '国贸':{ 'CICC':{}, 'HP':{}, '银行':{}, 'CCTV':{} }, '望京':{ '陌陌':{ ...
-
Python实现用户交互,显示省市县三级联动的选择
题目:Python实现用户交互,显示省市县三级联动的选择 定义的字典为: dic = { "江西": { "萍乡": ["安源", &quo ...
-
PyQt5--基础篇:用eric6工具实现三级联动效果
今天给大家介绍下python gui界面的三级联动效果,我们用工具eric6来实现,先看下效果图. 首先我们先创建项目linkage,再新建窗体进入到Qt设计师工具开始设计界面,完成后保存并退出. 在 ...
-
Django之上传图片,分页,三级联动
Django1.8.2中文文档:Django1.8.2中文文档 上传图片 配置上传文件保存目录 1)新建上传文件保存目录. 2)配置上传文件保存目录. 后台管理页面上传图片 1)设计模型类. 2)迁移 ...
-
js封装的三级联动菜单(使用时只需要一行js代码)
前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大 ...
-
利用select实现年月日三级联动的日期选择效果
× 目录 [1]演示 [2]规划 [3]结构生成[4]算法处理 前面的话 关于select控件,可能年月日三级联动的日期选择效果是最常见的应用了.本文是选择框脚本的实践,下面将对日期选择效果进行详细介 ...
-
jQuery省市区三级联动插件
体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...
-
jQuery - 全国省市县三级联动
最近有空用jquery做了一个全国省市县的三级联动,在以后或许可以用的到 ,遗憾的是我还没用封装,等有空看能不能封装成一个插件 废话不多说,贴上代码: <!doctype html> &l ...
-
省市区三级联动 pickerView
效果图 概述 关于 省市区 三级联动的 pickerView,我想大多数的 iOS 开发者应该都遇到过这样的需求.在遇到这样的需求的时候,大多数人都会觉的这个很复杂,一时无从下手.其实真的没那么复杂. ...
随机推荐
-
SVN使用_获取某版本后改动的文件列表
本章将讲解如何通过svn命令获取某版本后改动的所有文件 一键操作,告别svn log的繁杂对比工作. 1:安装SVN命令行工具Subversion(不是TortoiseSVN) 下载Subversio ...
-
LeetCode——Letter Combinations of a Phone Number
Given a digit string, return all possible letter combinations that the number could represent. A map ...
-
WPF Step By Step 控件介绍
WPF Step By Step 控件介绍 回顾 上一篇,我们主要讨论了WPF的几个重点的基本知识的介绍,本篇,我们将会简单的介绍几个基本控件的简单用法,本文会举几个项目中的具体的例子,结合这些 例子 ...
-
android的edittext输入长度
http://blog.csdn.net/uyu2yiyi/article/details/6329738 http://flysnow.iteye.com/blog/828415/ http://s ...
-
F#实现的单链表(函数式的思想)
// 在 http://fsharp.net 上了解有关 F# 的更多信息 // 请参阅“F# 教程”项目以获取更多帮助. type list = | Nil | Cons of int * list ...
-
Java发展的时间表
Java发展的时间表. (版本号 名称 中文名 发布日期) JDK 1.1.4 Sparkler 宝石 1997-09-12 JDK 1.1.5 Pumpkin 南瓜 1997-12-13 JDK 1 ...
-
转 Linux下的GoldenGate的启动关闭Shell脚本(独立)
用户想要用OGG进行同步数据,原来用的是Shareplex,至于为啥要换OGG,BulaBula一堆原因.....这不是我们要在意的事情,和客 户装完配置好OGG之后,测试中,客户提出要有个简单的启动 ...
-
Android5.1系统WebView内存泄漏场景
问题现象 (该文章,引自零号路的私人博客,本人在浏览框架的开发过程中,用该方式,规避了内存泄露的问题.) 在Android5.1系统中,会发现App存在 WebView 泄漏情况,还比较严重.并且只是 ...
-
通过VirtualBox安装Linux系统(CentOS7)
本文目的:创建虚拟系统.在windows系统中通过虚拟工具VirtualBox创建一个虚拟系统CentOS. 备注:(1)版本如下:VirtualBox-5.2.12-122591-Win 和Cent ...
-
从零开始学TensorFlow
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 最近在学习TensorFlow的相关知识,了解了Te ...