摘录自:雨神,供参考!

province_dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
"唐山": ["唐山1", "唐山2", "唐山3", "唐山4", "唐山5"]
},
"河南": {
"郑州": ["新郑", "新密", "金水区"],
"安阳": ["安阳县", "滑县", "汤阴县", "滑县", "张家庄"],
"许昌": ["魏都区","长葛","禹州"],
"焦作": ["焦作", "焦作", "焦作","焦作","焦作","焦作"],
"新乡": ["新乡1", "新乡2", "新乡3", "新乡4", "新乡5"],
"洛阳": ["洛阳1","洛阳2","洛阳3","洛阳4","洛阳5","洛阳6"]
},
"山西": {
"太原": ["太原1", "太原2", "太原3", "太原4", "太原5"],
"运城": ["运城1", "运城2", "运城3"],
"阳泉": ["阳泉1", "阳泉2", "阳泉3", "阳泉4"],
"大同": ["大同1", "大同2", "大同3", "大同4", "大同5", "大同6"]
},
"湖南":{
"长沙": ["长沙1","长沙2","长沙3"],
"湘潭": ["湘潭1","湘潭2","湘潭3"],
"岳阳": ["岳阳1","岳阳2","岳阳3","岳阳4"],
"常宁": ["常宁1","常宁2","常宁3","常宁4","常宁5","常宁6"]
}
}
province_list = []
city_list = []
county_list = []
province_tag = True
while province_tag:
province_list.clear()
for i in province_dic:
province_list.append(i)
num = 0
print( '请输入您想查询的省份:')
while(num<(len(province_list)+1)):
if(num<len(province_list)):
print(' %d-->%s' % (num+1,province_list[num]))
else:
print(' %d-->%s' % (num+1,'退出'))
num+=1
province_num = input()
if(province_num.isdigit() and int(province_num) in range(1,num+1)):
if int(province_num) == num: #退出 选择激活!此时num=5,等于退出
province_tag = False
break
m_province = province_list[int(province_num)-1]
print('您选择的省份为%s' % m_province)
city_tag = True
city_list.clear()
for i in province_dic.get(m_province):
city_list.append(i)
else:
print('请按照提示输入,谢谢')
continue
while city_tag:
num=0
print( '请输入您想查询的市:')
while(num<(len(city_list)+2)):
if(num<len(city_list)):
print(' %d-->%s' % (num+1,city_list[num]))
elif(num==len(city_list)):
print(' %d-->%s' % (num+1,'返回上一级'))
else:
print(' %d-->%s' % (num+1,'退出'))
num+=1
city_num = input()
if(city_num.isdigit() and int(city_num) in range(1,num+1)):
if(int(city_num)==num-1):
break
if(int(city_num)==num):
province_tag=False
break
m_city = city_list[int(city_num)-1]
print('您选择的市为%s' % m_city)
county_list.clear()
for i in (province_dic.get(m_province)).get(m_city):
county_list.append(i)
else:
print('请按照提示输入,谢谢')
continue
while city_tag:
num=0
print( '请输入您想查询的县(区):')
while(num<(len(county_list)+2)):
if(num<len(county_list)):
print(' %d-->%s' % (num+1,county_list[num]))
elif(num==len(county_list)):
print(' %d-->%s' % (num+1,'返回上一级'))
else:
print(' %d-->%s' % (num+1,'退出'))
num+=1
county_num = input()
if(county_num.isdigit() and int(county_num) in range(1,num+1)):
if(int(county_num)==num-1):
break
if(int(county_num)==num):
city_tag=False
province_tag=False
break
m_county = county_list[int(county_num)-1]
print('您选择的县(区)为%s' % m_county)
temp_num = input('''
1-->重新选择
2-->返回上级
3-->重新开始
4-->退出
''')
if(temp_num.isdigit() and int(temp_num) in range(1,5)):
if(temp_num==''):
continue
if(temp_num==''):
break
if(temp_num==''):
city_tag=False
break
if(temp_num==''):
city_tag=False
province_tag=False
break
else:
print('请按照提示输入,谢谢')
continue
else:
print('请按照提示输入,谢谢')
continue

雨神之省市县三级联动

# tag = True
# while tag:
# for shengming in province_dic:
# print(shengming)
# shengming = input("哪个省:(q退出!)")
# if shengming.strip() in province_dic:
# while tag:
# for chengshiming in province_dic[shengming.strip()]:
# print(chengshiming)
# chengshiming = input("哪个城市:(q退出!b返回)")
# if chengshiming.strip() in province_dic[shengming.strip()]:
# while tag:
# for quming in province_dic[shengming.strip()][chengshiming.strip()]:
# print(quming)
# quming = input("q退出!b返回!")
# if quming.strip() == 'q':
# tag = False
# elif quming.strip() == "b":
# break
# elif chengshiming.strip() == "q":
# tag = False
# elif chengshiming.strip() == 'b':
# break
# elif shengming.strip() == "q":
# tag = False
# print("你已退出本系统,假期愉快!") # current_layers = province_dic
# layers = [province_dic]
#
# while True:
# for i in current_layers:
# print(i)
# choice = input(">>: ").strip()
# if choice in current_layers:
# layers.append(current_layers)
# current_layers = current_layers[choice]
# elif choice.upper() == "B":
# current_layers = layers[-1]
# layers.pop()

学无止境

Day 16 之二 省市县三级联动的更多相关文章

  1. android:省市县三级联动(基于json和spring)

    一.请看效果图": 二.程序的代码: 1.MainActivity.java package com.loveplusplus.loader.demo.ui; import org.json ...

  2. wex5 实战 省市县三级联动与地址薄同步

    无论是商城,还是快递,都要用到省市县三级联动,和地址薄,今天就以实战来制作,难点有3个: 1:三级联动,有wex5组件实现,相对简单,实战里对行数据进行了拼接 2:  地址薄选项,利用inputSel ...

  3. 省市县三级联动 sql语句

    发现在网上的省市县三级联动大部分是mysql的.就算是sqlserver的,也不准确.于是就把mysql的给改了下,适用sqlserver.sql语句如下: CREATE TABLE Dic_Area ...

  4. jQuery - 全国省市县三级联动

    最近有空用jquery做了一个全国省市县的三级联动,在以后或许可以用的到 ,遗憾的是我还没用封装,等有空看能不能封装成一个插件 废话不多说,贴上代码: <!doctype html> &l ...

  5. Android 省市县 三级联动(android-wheel的使用)[转]

    转载:http://blog.csdn.net/lmj623565791/article/details/23382805 今天没事跟群里面侃大山,有个哥们说道Android Wheel这个控件,以为 ...

  6. Android 省市县 三级联动(android-wheel的使用)

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/23382805 今天没事跟群里面侃大山,有个哥们说道Android Wheel这个 ...

  7. php仿经典省市县三级联动

    之前有个需求要写个类似省市县三级联动的页面,于是,网上找了点资料看了下,其实原理很简单: 当我们选择一级栏目中某条记录的时候,会获取该栏目的vaule值,并发起ajax请求,后台根据这个vaule值, ...

  8. 项目总结01:JSP mysql SpringMvc下中国省市县三级联动下拉框

    JSP mysql SpringMvc下中国省市县三级联动下拉框 关键词 JSP  mysql数据库  SpringMvc  ajax   Controller层  Service层  中国地区  省 ...

  9. 省市县三级联动js代码

    省市县三级联动菜单,JS全国省市县(区)联动代码,一般可以用于用户注册或分类信息二手交易网站,需要的朋友直接复制代码就可以用了,不过有朋友反馈说缺少某些城市,具体缺少哪个尚不知,请想用的朋友自己补全吧 ...

随机推荐

  1. Python pip 使用国内镜像

    ## 推荐源```https://mirrors.aliyun.com/pypi/simple/ 阿里镜像,速度快.稳定https://pypi.douban.com/simple/ 豆瓣镜像```# ...

  2. hibernate简介以及简单配置

    Hibernate简介: Hibernate是一个开源对象关联关系映射的框架,他对JDBC做了轻量级的封装,使我们可以通过面向对象的思想操作数据库. 为什么要用Hibernate: 1: 对JDBC访 ...

  3. crond定时操作 crontab

    * * * * *  分别表示 分钟  小时  日  月  星期(0-6) 30 17,28,19 * * *  或 30 17-19 * * *  在每天的17-19小时半点时刻执行 30 8-18 ...

  4. PHP网站实现地址URL重定向

    网站建设中,通常会用到网站地址URL的重定向,这样的好处是有利于你网站的SEO优化,也就是让你的网站实现伪静态,下面简单介绍一下实现的两种方法: 1.在Apache配置文件中设置重定向 首先找到Apa ...

  5. 如何解决js跨域问题

    Js跨域问题是web开发人员最常碰到的一个问题之一.所谓js跨域问题,是指在一个域下的页面中通过js访问另一个不同域下的数据对象,出于安全性考 虑,几乎所有浏览器都不允许这种跨域访问,这就导致在一些a ...

  6. linux系统装载ELF过程

    参考:程序员的自我修养 fork -->execve() //----kenerl space--------------- sys_execve() /*arch\i386\kernel\pr ...

  7. Linux和 Mac下git pull/push 免输入密码和账号

    linux下面可以直接创建.git-credential文件,命令如下: 创建文件,进入文件,输入内容: cd ~ touch .git-credentials vim .git-credential ...

  8. UML结构与解析——BUAA OO第四单元作业总结

    UML与解析架构 UML是什么 统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编 ...

  9. BZOJ 4985: 评分

    二分答案 >=key的记为1 f[i]表示令i位置为1所需要的最少的1的个数 队列模拟 #include<cstdio> #include<algorithm> usin ...

  10. 十分钟了解HTTP协议

    概念 HTTP(Hypertext Transfer Protocol,超文本传输协议)是TCP/IP协议的应用(封装). HTTP协议是单向通讯,无状态,主要应用于B/S模型的网络软件,客户端一(多 ...