#!/usr/bin/env python3
import sys
import os
zonecode = {
'广东省':
{'广州市':['越秀区','海珠区','荔湾区','天河区'],
'深圳市':['宝安区','龙岗区','南山区','盐田区','罗湖区','福田区'],
'珠海市':['香洲区','斗门区','金湾区'],
'汕头市':['潮阳区','澄海区','濠江区','龙湖区']},
'湖北省':
{'武汉市':['江岸区','江汉区','汉阳区','武昌区','洪山区','青山区'],
'黄石市':['黄石港区','西塞山区','下陆区','铁山区'],
'十堰市':['张湾区','茅箭区','竹山县','竹溪县'],
'荆州市':['荆州区','沙市区','江陵县','监利县','公安县']},
'福建省':
{'福州市':['鼓楼区','台江区','仓山区','马尾','晋安区','琅岐区'],
'厦门市':['同安区','翔安区','集美区','海沧区','湖里区','思明区'],
'莆田市':['仙游县','荔城区','城厢区','涵江区','秀屿区'],
'三明市':['梅列区','三元区','永安市','明溪县','清流县','宁化县']},
'吉林省':
{'长春市':['朝阳区','南关区','宽城区','二道区','绿园区','双阳区','德惠市','九台市','榆树市','农安县'],
'吉林市':['船营区','龙潭区','昌邑区','丰满区','磐石市','蛟河市','桦甸市','舒兰市','永吉县'],
'四平市':['铁西区','铁东区','双辽市','公主岭市','梨树县','伊通满族自治县'],
'辽源市':['龙山区','西安区','东丰县','东辽县'],
'通化市':['东昌区','二道江区','梅河口市','集安市','通化县','柳河县','辉南县',],
'白山市':['八道江区','临江市','江源县','抚松县','靖宇县','长白朝鲜族自治区',],
'松原市':['宁江区','扶余县','长岭县','乾安县','前郭尔罗斯蒙古族自治区',],
'白城市':['洮北区','大安区','洮南市','通榆县','镇赉县',]},
}
#循环开始
for a in zonecode:
print(a)
while True:
input_name = input("请输入您要查看的省(q可退出):")
if input_name=='q':
sys.exit()
elif input_name in zonecode.keys(): #正确判断
sheng = zonecode[input_name]
for shurua in sheng:
print(shurua)
#第二层循环
while True:
city_name = input("请输入您要查看的市(b可返回上级,q可退出):")
if city_name=='q':
sys.exit()
elif city_name=='b':
break
elif city_name in zonecode[input_name].keys():
shi = zonecode[input_name][city_name]
for shurub in shi:
print(shurub)
#第三层循环
while True:
try:
part_name= input("请输入您要查看的区(b可返回上级,q可退出):")
if part_name=='q':
sys.exit()
elif part_name=='b':
break
except Keyrror:
print("您的输入有误,请重新输入")
else:
if part_name in zonecode[input_name][city_name]:
print(part_name)
break
else:
print("您的输入有误,请重新输入")
break
else:
print("您的输入有误,请重新输入")
continue
break

Python12期培训班-day1-三级菜单代码分享的更多相关文章

  1. Python12期培训班-day1-登陆验证代码分享

    #!/usr/bin/env python import sys import getpass afile = 'afile' bfile = 'bfile' circulation_num=0 #循 ...

  2. JS打字效果的动态菜单代码分享

    这篇文章主要介绍了JS打字效果的动态菜单,推荐给大家,有需要的小伙伴可以参考下. 这是一款基于javascript实现的打字效果的动态菜单特效代码,分享给大家学习学习. 小提示:浏览器中如果不能正常运 ...

  3. day1作业--三级菜单

    作业概述: 写一个三级菜单 实现如下功能: (1)可依次选择进入各子菜单 (2)在每一级按“b”都可以返回上一级,按“q"都可以退出 流程图: readme: 简介: three_menu. ...

  4. 转: javascript实现全国城市三级联动菜单代码

    <html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...

  5. 20款jquery下拉导航菜单特效代码分享

    20款jquery下拉导航菜单特效代码分享 jquery仿京东商城左侧分类导航下拉菜单代码 jQuery企业网站下拉导航菜单代码 jQuery css3黑色的多级导航菜单下拉列表代码 jquery响应 ...

  6. Python学习之编写三级菜单(Day1,作业二)

    作业二:多级菜单 三级菜单 可依次进入各子菜单 在各级菜单中输入B返回上一级Q退出程序 知识点:字典的操作,while循环,for循环,if判断 思路: 1.开始,打印一级菜单让用户进行选择(可以输入 ...

  7. python day1 之三级菜单的正确姿势

    看了几个同学有关三级菜单的实现,都是通过一级一级输出,是较为过程的实现.另外如果菜单(树形结构)更多级这样处理起来就比较麻烦了. 可以使用python强大的列表和字典,实现的更优美或简洁一些: 注:复 ...

  8. js左侧三级菜单导航实例代码

    在左侧三级菜单导航想必大家都见到过吧,它的实现过程也并不复杂,下面有个不错的示例,感兴趣的朋友可以了解下 实例代码:   <!DOCTYPE html PUBLIC "-//W3C// ...

  9. python作业三级菜单day1(第一周)

    一.作业需求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 二三级菜单文 ...

随机推荐

  1. linux 双网卡实现

    linux实现双网卡,在虚拟机中创建一个新网卡,NAT方式连接,其中eth0设置为连接外网,目前eth0为自动分配状态,所以将代码注释掉了,eth1设置为连接内网.

  2. C#类遍历

    foreach语句的基本用法大家都应该知道,就是对对象进行遍历,取出相应的属性名称或属性值.Foreach(for)用法在js中使用很简单,基本如下: var objA={name:'mayday', ...

  3. Linux进程基础

    Linux进程基础   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 计算机实际上可以做的事情实质上非常简单,比如计算两个数的和 ...

  4. What are the advantages of ReLU over sigmoid function in deep neural network?

    The state of the art of non-linearity is to use ReLU instead of sigmoid function in deep neural netw ...

  5. 自定义弹出框基于zepto 记得引入zepto

    html <!DOCTYPE html> <html> <meta charset="utf-8"> <title></tit ...

  6. Linux变量

    变量:(大的分为环境变量与本的变量) 本地变量: 本地变量在用户现在的shell生命期的脚本中使用.例如,本地变量file-name="loop.doc",这个值只在用户当前she ...

  7. memcache内存估算整理

    参考文章: http://blog.csdn.net/tonyxf121/article/details/7906428 http://zhihuzeye.com/archives/2361 memc ...

  8. HTML5/CSS3hack

    以下兼容技术我只测试了IE8+ Media Query 媒体查询 <script src="respond.min.js"></script> respon ...

  9. hdu3247Resource Archiver(ac自动机+spfa)

    链接 这题没想到怎么做,问了下p队长,大悟.. 先求出任意两串的在trie树上的最短距离,期间是不能走到不合法的地方,我是用spfa求得,在更新和加入节点时判断一下是不是合法位置. 求出最短距离之后, ...

  10. ural1057 Amount of Degrees

    链接 这题有一点小坑点 就是AX^B  A只能为0或者1  ,剩下的就比较好做的了. #include <iostream> #include<cstdio> #include ...