python 三级联动
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 开发者应该都遇到过这样的需求.在遇到这样的需求的时候,大多数人都会觉的这个很复杂,一时无从下手.其实真的没那么复杂. ...
随机推荐
- 机器学习 —— 基础整理(三)生成式模型的非参数方法: Parzen窗估计、k近邻估计;k近邻分类器
本文简述了以下内容: (一)生成式模型的非参数方法 (二)Parzen窗估计 (三)k近邻估计 (四)k近邻分类器(k-nearest neighbor,kNN) (一)非参数方法(Non-param ...
- Linux日志分析ELK环境搭建
场景:ELK作为一个日志收集和检索系统,感觉功能还是相当的强大的. ELK是啥, 其实是是三个组件的缩写, 分别是elasticsearch, logstash, kibana. ELK平台可以用于实 ...
- (转)添加eclipse、MyEclipse、Spring Tool Suite的反编译插件
很多兄弟为在IDE里看不到源代码类而不得不下一个反编译工具,但是这样会降低代码效率,如果能直接在IDE里看,何乐而不为呢!现在我整理了一下网上很多兄弟的设置反编译的经验. 可分为下面几步. 1 下载J ...
- PDF安全模式破解的简单办法
网上下电子书时,经常会遇到 电子书被加密的情况,此时读者将无法进行标亮,加注释等基本的操作.网上的方法都是建议下个 PDFPasswodRemove 的软件,麻烦而且软件不好用.经各种研究,尝试,发现 ...
- JavaScript基本数据类型
JavaScript基本数据类型 在JavaScript种一共有6种数据类型:Null.Undefined.Boolean.String.Number.Object.其中Object是一种复杂数据类型 ...
- Aspose.Words关于域的应用
#region 通过word域去插入相应的数据 /// <summary> /// 通过word域去进行指定位置替换数据 /// </summary> public void ...
- ida和idr机制分析(盘符分配机制)
# ida和idr机制分析 ida和idr的机制在我个人看来,是内核管理整数资源的一种方法.在内核中,许多地方都用到了该结构(例如class的id,disk的id),更直观的说,硬盘的sda到sdz的 ...
- HPU--1141 蜗牛爬树
1141: 蜗牛爬树 [模拟] 时间限制: 1 Sec 内存限制: 128 MB提交: 377 解决: 60 统计 题目描述 阿门阿前一棵葡萄树,阿嫩阿嫩绿地刚发芽,蜗牛背著那重重的壳呀,一步一步地往 ...
- akoj-1074-人见人爱A^B
人见人爱A^B Time Limit:1000MS Memory Limit:65536K Total Submit:91 Accepted:55 Description 求A^B的最后三位数表示的 ...
- android项目数据库升级跨版本管理解决方案
目前公司android项目普遍使用框架对数据库进行操作,数据库表与数据实体都具有严格的对应的关系,但是数据库的升依赖不同版本间的升级脚本,如果应用跨多版本进行升级时,当缺失部分升级脚本时就会导致应用异 ...