# Author: Stephen Yuan

 area_range = {
'广东省': {
'广州市': {
'海珠区': ['全区总面积90.40平方公里', '2015年,海珠区生产总值达到1422.97亿元'],
'荔湾区': ['全区总面积62.40平方公里', '2015年,荔湾区生产总值达到970.33亿元'],
'花都区': ['全区总面积970.04平方公里', '2015年,荔湾区生产总值达到1003.11亿元']
},
'深圳市': {
'罗湖区': ['罗湖区辖区土地面积78.75平方公里', '2016年,罗湖区生产总值达到1974.07亿元'],
'福田区': ['福田区辖区土地面积98.66平方公里', '2016年,福田区生产总值达到2200.22亿元'],
'南山区': ['南山区辖区土地面积78.75平方公里', '2016年,南山区生产总值达到2100.15亿元']
},
'珠海市': {
'香洲区': ['香洲区辖区土地面积78.75平方公里', '2016年,香洲区生产总值达到3000.25亿元'],
'金湾区': ['金湾区辖区土地面积78.75平方公里', '2016年,金湾区生产总值达到3564.38亿元'],
'斗门区': ['斗门区辖区土地面积78.75平方公里', '2016年,斗门区生产总值达到3125.45亿元']
}
},
'湖北省': {
'武汉市': {
'江岸区': ['江岸区辖区土地面积78.75平方公里', '2016年,江岸区生产总值达到3454.18亿元'],
'汉阳区': ['汉阳区辖区土地面积78.75平方公里', '2016年,汉阳区生产总值达到7864.28亿元'],
'武昌区': ['武昌区辖区土地面积78.75平方公里', '2016年,武昌区生产总值达到6421.67亿元'],
},
'黄石市': {
'下陆区': ['下陆区辖区土地面积78.75平方公里', '2016年,下陆区生产总值达到4485.28亿元'],
'铁山区': ['铁山区辖区土地面积78.75平方公里', '2016年,铁山区生产总值达到1200.45亿元'],
'大冶市': ['大冶市辖区土地面积78.75平方公里', '2016年,大冶市生产总值达到2452.32亿元']
},
'黄冈市': {
'黄州区': ['黄州区辖区土地面积78.75平方公里', '2016年,黄州区生产总值达到4821.46亿元'],
'麻城市': ['麻城市辖区土地面积78.75平方公里', '2016年,麻城市生产总值达到6213.45亿元'],
'武穴市': ['武穴市辖区土地面积78.75平方公里', '2016年,武穴市生产总值达到4548.68亿元']
}
},
'湖南省': {
'长沙市': {
'芙蓉区': ['芙蓉区辖区土地面积78.75平方公里', '2016年,芙蓉区生产总值达到4813.53亿元'],
'天心区': ['天心区辖区土地面积78.75平方公里', '2016年,天心区生产总值达到6784.64亿元'],
'开福区': ['开福区辖区土地面积78.75平方公里', '2016年,开福区生产总值达到2345.45亿元'],
},
'株洲市': {
'荷塘区': ['荷塘区辖区土地面积78.75平方公里', '2016年,荷塘区生产总值达到4861.15亿元'],
'芦淞区': ['芦淞区辖区土地面积78.75平方公里', '2016年,芦淞区生产总值达到1974.35亿元'],
'石峰区': ['石峰区辖区土地面积78.75平方公里', '2016年,石峰区生产总值达到1546.78亿元']
},
'邵阳市': {
'双清区': ['双清区辖区土地面积78.75平方公里', '2016年,双清区生产总值达到6541.85亿元'],
'大祥区': ['大祥区辖区土地面积78.75平方公里', '2016年,大祥区生产总值达到5461.74亿元'],
'北塔区': ['北塔区辖区土地面积78.75平方公里', '2016年,北塔区生产总值达到4815.86亿元']
}
}
} while True:
for i in area_range:
print(i)
print("最后一级,返回上一层按’b'键,退出按’q'键")
choice_1 = input('选择省>>>:')
if choice_1 in area_range:
while True:
for i2 in area_range[choice_1]:
print(i2)
choice_2 = input('选择市>>>:')
if choice_2 in area_range[choice_1]:
while True:
for i3 in area_range[choice_1][choice_2]:
print(i3)
choice_3 = input('选择区>>>:')
if choice_3 in area_range[choice_1][choice_2]:
while True:
for i4 in area_range[choice_1][choice_2][choice_3]:
print(i4)
choice_4 = input("最后一级,返回上一层按’b'键,退出按’q'键>>>:")
if choice_4 == 'b':
break
elif choice_4 == 'q':
exit()
else:
print("无效选择,请重新输入!")
elif choice_3 == 'b':
break
elif choice_3 == 'q':
exit()
else:
print("无效选择,请重新输入!")
elif choice_2 == 'b':
break
elif choice_2 == 'q':
exit()
else:
print("无效选择,请重新输入!")
elif choice_1 == 'q':
exit()
else:
print("无效选择,请重新输入!")

【PYTHON】三级菜单的更多相关文章

  1. python三级菜单实例(傻瓜版和进阶版)

    程序: python三级菜单 要求: : 1.打印省.市.县三级菜单 2.可返回上一级 3.可随时退出程序 方案一:傻瓜版(其实傻瓜版考察的主要是思路!思路清楚了,那才不是傻瓜!O(∩_∩)O哈哈~) ...

  2. python(5)- 简单练习:python三级菜单优化

    python三级菜单优化,菜鸟版链接:http://www.cnblogs.com/xuyaping/p/6648170.html menu = { '北京':{ '海淀':{ '五道口':{ 'so ...

  3. python三级菜单的实现

    一.作业要求 1.使用字典实现三级菜单功能 2.直接输入前面数字进入下一级菜单 3.按B返回上一级,按Q退出 二.需要知识点 1.if循环 2.for循环,enumerate的用法 3.while循环 ...

  4. python 三级菜单 while循环三次,湖北省市-县-街道的选择,3个while的循环 -day2

    python编写一个三级while的循环菜单 1.定义字典,字典里面嵌套字典,内嵌字典的值为列表. 思路: 湖北省的市:字典中的定义3个字典,用于存储{序列-键:市名} shiqu_dir = {} ...

  5. Python 三级菜单 增强版

    需要实现的功能是:三级菜单1.从文本内读出选项2.查询每一级的选项,并能对选项进行增/删/改功能3.每一级可以退出程序或者返回上一层 2018-5-14 更新内容 思路 实现过程中的BUG及解决方案: ...

  6. python三级菜单

    #-*- coding:utf-8 -*-#Author:gxli #一级菜单项def menu(): #遍历字典dic一级菜单 print('-----------一级菜单------------- ...

  7. Python 三级菜单与优化(一层循环嵌套)

    优化的思路是使用单层循环嵌套完成三级菜单,这个优化思路我非常喜欢,我喜欢在编程的时候用最少的东西写出同样的效果,通常这样会绕来绕去,但非常有趣!!! 需求: 1.运行程序输出第一级菜单: 2.选择一级 ...

  8. Python——三级菜单

    #三级菜单函数 menu = { '北京':{ 海淀:{ '五道口':{} '中关村':{} '上帝':{} } '昌平':{} '朝阳':{} '东城':{} }, '上海':{} '山东':{} ...

  9. 4th,Python三级菜单

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

  10. [terry笔记]python三级菜单

    把三级菜单输出,选择后逐层显示,”b“返回上一级菜单. menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村': ...

随机推荐

  1. Matlab绘图基础——绘制三维曲线

    %% 绘制三维曲线 %plot3函数,其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同. %1.当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线. x0 = 0 ...

  2. redis存取对象

    redis主要存储类型最常用的五种数据类型: String Hash List Set Sorted set redis不能直接存取对象,如何解决呢? 两种方式 1.利用序列化和反序列化的方式 两层对 ...

  3. Linux下的进程与线程(一)—— 进程概览

    进程是操作系统分配资源的基本单位.线程是操作系统进行运行和调度的基本单位. 进程之间可以切换,以便轮流占用CPU,实现并发.一般进程运行在用户模式下,只能执行指令集中的部分指令. 当进程进行上下文切换 ...

  4. Java 自定义实现链表

    自定义实现链表很简单,只需要明白链表是什么样子的数据结构. 下图表示一种单向列表.其中指针first指向队头,last指向队尾,curr指向当前读的数据. 下面是我的实现代码,很简单,明白上述结构后, ...

  5. VS2017调试器无法附加到IIS进程(w3wp.exe)

    问题描述: 当使用VS2017-> 调试->附加到进程来调试IIS进程(w3wp.exe)时,报错"无法附加到进程,已附加了一个调试器" 为了解决这个问题花了不少时间, ...

  6. Beta冲刺NO.7

    Beta冲刺 第七天 昨天的困难 昨天的困难在一些多表查询上,不熟悉hibernate的套路,走了很多弯路. 第一次使用图表插件,在图表的显示问题上花了一定的时间. 对于页面绑定和后台数据自动填充的理 ...

  7. Linux kernel 的 sendfile 是如何提高性能的

    Linux kernel 的 sendfile 是如何提高性能的 现在流行的 web 服务器里面都提供 sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢? ...

  8. js 从一个函数中传递值到另一个函数

    一个函数的调用大家都会用 我今天在调接口的时候突然发现需要引用个另一个函数中拿到的值 举个栗子 刚开始 我是这样调用的 alert弹出的是 hello world . 但是我a函数内部还有一个函数 画 ...

  9. 释义Oracle 11r2中并行执行相关参数

    因最近对现场某些服务器进行诊断和调整,用到了这类参数,因此对这类参数做了详尽的查阅和研究,现将该类参数释义如下,以方便同行和自己参考,禁止转载: 1.PARALLEL_ADAPTIVE_MULTI_U ...

  10. 算法题丨3Sum

    描述 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all ...