摘录自:雨神,供参考!

  1. province_dic = {
  2. "河北": {
  3. "石家庄": ["鹿泉", "藁城", "元氏"],
  4. "邯郸": ["永年", "涉县", "磁县"],
  5. "唐山": ["唐山1", "唐山2", "唐山3", "唐山4", "唐山5"]
  6. },
  7. "河南": {
  8. "郑州": ["新郑", "新密", "金水区"],
  9. "安阳": ["安阳县", "滑县", "汤阴县", "滑县", "张家庄"],
  10. "许昌": ["魏都区","长葛","禹州"],
  11. "焦作": ["焦作", "焦作", "焦作","焦作","焦作","焦作"],
  12. "新乡": ["新乡1", "新乡2", "新乡3", "新乡4", "新乡5"],
  13. "洛阳": ["洛阳1","洛阳2","洛阳3","洛阳4","洛阳5","洛阳6"]
  14. },
  15. "山西": {
  16. "太原": ["太原1", "太原2", "太原3", "太原4", "太原5"],
  17. "运城": ["运城1", "运城2", "运城3"],
  18. "阳泉": ["阳泉1", "阳泉2", "阳泉3", "阳泉4"],
  19. "大同": ["大同1", "大同2", "大同3", "大同4", "大同5", "大同6"]
  20. },
  21. "湖南":{
  22. "长沙": ["长沙1","长沙2","长沙3"],
  23. "湘潭": ["湘潭1","湘潭2","湘潭3"],
  24. "岳阳": ["岳阳1","岳阳2","岳阳3","岳阳4"],
  25. "常宁": ["常宁1","常宁2","常宁3","常宁4","常宁5","常宁6"]
  26. }
  27. }
  28. province_list = []
  29. city_list = []
  30. county_list = []
  31. province_tag = True
  32. while province_tag:
  33. province_list.clear()
  34. for i in province_dic:
  35. province_list.append(i)
  36. num = 0
  37. print( '请输入您想查询的省份:')
  38. while(num<(len(province_list)+1)):
  39. if(num<len(province_list)):
  40. print(' %d-->%s' % (num+1,province_list[num]))
  41. else:
  42. print(' %d-->%s' % (num+1,'退出'))
  43. num+=1
  44. province_num = input()
  45. if(province_num.isdigit() and int(province_num) in range(1,num+1)):
  46. if int(province_num) == num: #退出 选择激活!此时num=5,等于退出
  47. province_tag = False
  48. break
  49. m_province = province_list[int(province_num)-1]
  50. print('您选择的省份为%s' % m_province)
  51. city_tag = True
  52. city_list.clear()
  53. for i in province_dic.get(m_province):
  54. city_list.append(i)
  55. else:
  56. print('请按照提示输入,谢谢')
  57. continue
  58. while city_tag:
  59. num=0
  60. print( '请输入您想查询的市:')
  61. while(num<(len(city_list)+2)):
  62. if(num<len(city_list)):
  63. print(' %d-->%s' % (num+1,city_list[num]))
  64. elif(num==len(city_list)):
  65. print(' %d-->%s' % (num+1,'返回上一级'))
  66. else:
  67. print(' %d-->%s' % (num+1,'退出'))
  68. num+=1
  69. city_num = input()
  70. if(city_num.isdigit() and int(city_num) in range(1,num+1)):
  71. if(int(city_num)==num-1):
  72. break
  73. if(int(city_num)==num):
  74. province_tag=False
  75. break
  76. m_city = city_list[int(city_num)-1]
  77. print('您选择的市为%s' % m_city)
  78. county_list.clear()
  79. for i in (province_dic.get(m_province)).get(m_city):
  80. county_list.append(i)
  81. else:
  82. print('请按照提示输入,谢谢')
  83. continue
  84. while city_tag:
  85. num=0
  86. print( '请输入您想查询的县(区):')
  87. while(num<(len(county_list)+2)):
  88. if(num<len(county_list)):
  89. print(' %d-->%s' % (num+1,county_list[num]))
  90. elif(num==len(county_list)):
  91. print(' %d-->%s' % (num+1,'返回上一级'))
  92. else:
  93. print(' %d-->%s' % (num+1,'退出'))
  94. num+=1
  95. county_num = input()
  96. if(county_num.isdigit() and int(county_num) in range(1,num+1)):
  97. if(int(county_num)==num-1):
  98. break
  99. if(int(county_num)==num):
  100. city_tag=False
  101. province_tag=False
  102. break
  103. m_county = county_list[int(county_num)-1]
  104. print('您选择的县(区)为%s' % m_county)
  105. temp_num = input('''
  106. 1-->重新选择
  107. 2-->返回上级
  108. 3-->重新开始
  109. 4-->退出
  110. ''')
  111. if(temp_num.isdigit() and int(temp_num) in range(1,5)):
  112. if(temp_num==''):
  113. continue
  114. if(temp_num==''):
  115. break
  116. if(temp_num==''):
  117. city_tag=False
  118. break
  119. if(temp_num==''):
  120. city_tag=False
  121. province_tag=False
  122. break
  123. else:
  124. print('请按照提示输入,谢谢')
  125. continue
  126. else:
  127. print('请按照提示输入,谢谢')
  128. continue

雨神之省市县三级联动

  1. # tag = True
  2. # while tag:
  3. # for shengming in province_dic:
  4. # print(shengming)
  5. # shengming = input("哪个省:(q退出!)")
  6. # if shengming.strip() in province_dic:
  7. # while tag:
  8. # for chengshiming in province_dic[shengming.strip()]:
  9. # print(chengshiming)
  10. # chengshiming = input("哪个城市:(q退出!b返回)")
  11. # if chengshiming.strip() in province_dic[shengming.strip()]:
  12. # while tag:
  13. # for quming in province_dic[shengming.strip()][chengshiming.strip()]:
  14. # print(quming)
  15. # quming = input("q退出!b返回!")
  16. # if quming.strip() == 'q':
  17. # tag = False
  18. # elif quming.strip() == "b":
  19. # break
  20. # elif chengshiming.strip() == "q":
  21. # tag = False
  22. # elif chengshiming.strip() == 'b':
  23. # break
  24. # elif shengming.strip() == "q":
  25. # tag = False
  26. # print("你已退出本系统,假期愉快!")
  27.  
  28. # current_layers = province_dic
  29. # layers = [province_dic]
  30. #
  31. # while True:
  32. # for i in current_layers:
  33. # print(i)
  34. # choice = input(">>: ").strip()
  35. # if choice in current_layers:
  36. # layers.append(current_layers)
  37. # current_layers = current_layers[choice]
  38. # elif choice.upper() == "B":
  39. # current_layers = layers[-1]
  40. # 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. Ping 命令的执行过程和应用协议

    1. ICMP是“Internet Control Message Ptotocol”的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息. 控制消息是指网络通不通.主机 ...

  2. JWT的使用流程

    JWT的实现原理 一篇文章告诉你JWT的实现原理 发布于 3 个月前 作者 axetroy 3097 次浏览 来自 分享 在使用 JWT 的时候,有没有想过,为什么我们需要 JWT?以及它的工作原理是 ...

  3. Win10家庭版找不到组策略gpedit.msc

    首先在桌面上建立一个txt文本文件,将下面的代码复制到里面 @echo off pushd "%~dp0" dir /b C:\Windows\servicing\Packages ...

  4. Ubuntu下删除mysql数据库

    Ubuntu下删除mysql数据库 sudo apt-get autoremove --purge mysql-server-5.7 sudo apt-get remove mysql-server ...

  5. Linux 用户管理(二)

    一.groupadd --create a new group 创建新用户 -g  --gid GID 二.groupdel --delete a group 三.passwd --update us ...

  6. 第6章 AOP与全局异常处理6.5-6.11 慕课网微信小程序开发学习笔记

    https://coding.imooc.com/learn/list/97.html 目录: 第6章 AOP与全局异常处理6-1 正确理解异常处理流程 13:236-2 固有的处理异常的思维模式与流 ...

  7. java代码导出数据到Excel、js导出数据到Excel(三)

     jsp内容忽略,仅写个出发按钮:          <button style="width: 100px" onclick="expertExcel()&quo ...

  8. leetcode-17-BST

    530. Minimum Absolute Difference in BST Given a binary search tree with non-negative values, find th ...

  9. LA 4253 Archery 二分

    题意: x轴上方有若干条平行于x轴的线段 在x轴的区间\([0, \, W]\)内找一点发射一条射线,使其穿过所有线段. 问是否存在这样的点. 分析: 我们二分射线端点的坐标,将线段按纵坐标从小到大排 ...

  10. HDU 2242 双连通分量 考研路茫茫——空调教室

    思路就是求边双连通分量,然后缩点,再用树形DP搞一下. 代码和求强连通很类似,有点神奇,=_=,慢慢消化吧 #include <cstdio> #include <cstring&g ...