[作业] Python入门基础--三级菜单
用字典存储数据
可以随时返回上一级,随时退出程序
只能用循环判断等内置方法,不得导入模块
menu = {
'广东':{
'广州':{
'越秀区':{
'面积':'33.80',
'人口':'115万',
'邮政编码':'510030',
'区政府驻地':'越华路183号',
'行政代码':'440104'
},'天河区':{
'面积':'96.33',
'人口':'143万',
'邮政编码':'510630',
'区政府驻地':'天府路1号',
'行政代码':'440106'
},'荔湾区':{
'面积':'59.10',
'人口':'89万 ',
'邮政编码':'510145',
'区政府驻地':'中山七路328号',
'行政代码':'440103'
}
},
'深圳':{
'福田区':{
'面积':'78.66',
'常住人口':'135.71',
'户籍人口':'83.35',
'非户籍人口':'52.36',
'邮政编码':'518000'
},'罗湖区':{
'面积':'78.76',
'常住人口':'95.37',
'户籍人口':'55.92',
'非户籍人口':'39.46',
'邮政编码':'518001'
}
}
},
'湖北':{
'武汉':{
'硚口区':{
'行政代码':'420104',
'面积':'41.9',
'常住人口':'64万',
'邮政编码':'430000',
'政府驻地':'荣华街道沿江大道518号'
},'江岸区':{
'行政代码':'420102',
'面积':'64.24',
'常住人口':'121万',
'邮政编码':'430014 ',
'政府驻地':'四唯街道六合路1号'
}
},
'黄石':{
'大冶市':{
'面积':'1566.3',
'人口':'95.9万(2014年)',
'政府驻地':'东岳路街道湛月路'
},'阳新县':{
'面积':'2780',
'人口':'105.94万(2014年) ',
'政府驻地':'兴国镇儒学路'
}
}
}
}
dynamic_menu = menu #实现动态循环菜单
last_meny_list = [] #保存所有的父级层的值,最好一个为当前层的上一层 while True:
#循环打印出当前菜单的所有key
for key in dynamic_menu:
print(key)
choice = input('>>>:').strip()
if len(choice) == 0:continue #如果没有输入则不执行以下代码,节约资源
if choice in dynamic_menu: #判断输入的值是否在所选范围
last_meny_list.append(dynamic_menu) #记录上一层的值存到列表 ,为了实现随时返回上一层功能
dynamic_menu = dynamic_menu[choice] #动态改成下一层的值
elif choice == '9': #返回上一层
if last_meny_list:
dynamic_menu = last_meny_list.pop()
elif choice == '886': #退出循环
break
else:
print('无此项'.center(20,'*'))
print('bye'.center(30,'/'))
[作业] Python入门基础--三级菜单的更多相关文章
- [作业] Python入门基础---购物车小程序
1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的 ...
- [作业] Python入门基础--用户登陆
让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定登陆 #__author:Mifen #date: 2018/11/28 import time #自定义本地用户名和密码 user_nam ...
- [作业] Python入门基础--猜年龄
age = 20 while True: try: guess_age = int(input('guess age:')) if guess_age > age: print('Is bigg ...
- [作业] Python入门基础---九九乘法表
1.while 循环 : x = 1 while x < 10: y = 1 while y <=x: print('%d*%d=%2d' % (y,x,x*y),end = '\t') ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- python练习_三级菜单
python练习_三级菜单 需求: 做一个地区查询三级菜单,输入一级能够打印下一级 在第三级个第二级输入e可以返回上一级 在任意一级输入q则退出程序 以下代码实现的功能与思路: 功能: (1)通过In ...
随机推荐
- java web前端调试手段
1.console.log() 2. jQuery.ajax({ url:"/task1/com/guodiantong/servlet/JsonTo ...
- Eclipse技巧
1 alt + / 提示 2 ctrl + shift + g 查找方法被谁调用 3 ctrl + t 查看某个类的继承关系 4 alt + 上/下 移动当前行上或者下 5 ctrl + / 行注释 ...
- matlab pca基础知识
PCA的一些基本资料 最近因为最人脸表情识别,提取的gabor特征太多了,所以需要用PCA进行对提取的特征进行降维. 本来最早的时候我没有打算对提取的gabor特征进行降维,但是如果一个图像时64*6 ...
- 摘抄-----java codeReview要做的事
整洁的代码 清单项目 分类 使用可以表达实际意图(Intention-Revealing)的名称 有意义的名称 每一个概念只用一个词 有意义的名称 使用方案/问题领域名称 有意义的名称 类应该是比较小 ...
- RESTful Android
RESTful Android API 定义 约定 回复中默认包含标头: Content-Type: application/json;charset=UTF-8 异步操作以(*)号标记 大多数异步操 ...
- LinkServer--在Job中使用Linkserver注意事项
如果要使用job来调用link server的话,不能使用作业步骤属性高级选项中”作为以下用户运行“来以本地登录用户模拟远程用户访问远程服务器.会报”无法建立安全上下文“的错误. 将Job中代码封装到 ...
- [ASP.NET]uploadify简单使用讲解
背景:在用户控件中使用html 的file控件或者ASP.NET的FileUpLoad控件都无法获取到文件,于是想到听说过的uploadify uploadify官网:www.uploadify.co ...
- 关于Java_Web连接Oracle数据库
1.前提条件 1>装有Oracle数据库(因为连接的时候需要开启两项服务) 2>myeclipse或eclipse(支持WebProject的版本)开发环境,本机以myeclipse为例, ...
- Windows2012 显示我的电脑删除群集
rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 在正常删除Cluster 节点之后,再添加节点时,报“节点已经加入群集”,无法加入,注册表信息删 ...
- Unity/C#基础复习(3) 之 String与StringBuilder的关系
参考资料 [1] @毛星云[<Effective C#>提炼总结] https://zhuanlan.zhihu.com/p/24553860 [2] <C# 捷径教程> [3 ...