[作业] 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 ...
随机推荐
- spring获取webapplicationcontext,applicationcontext几种方法详解(转)
方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemXmlApplicationContext(&quo ...
- 初探Angular_02 感受添加组件
首先把目光聚焦在app这个文件夹里面 1.app.module.ts 这个文件是angular根模块,告诉Angular如何组装应用 // 浏览器解析的模块 import { BrowserModul ...
- Ubuntu安装Apache+PHP
1.Ubuntu 安装Apache 安装Apache sudo apt-get install apache2 修改端口号 打开 etc/apache2/port.config 修改 port 80 ...
- Caliburn.Micro(MVVM框架)
一.首启窗体设置 1. 创建一个新的WPF应用程序并添加NuGet包:Caliburn.Micro 2. 删除项目自带的主窗口文件MainWindow.xaml 3. 在App.xaml项目文件中,删 ...
- XML Web Service架构图
- 安装 rabbitmq ,通过生成器获取redis列表数据 与 Celery 分布式异步队列
一.安装rabbitmq @全体成员 超简易安装rabbitmq文档 1.安装配置epel源rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/ ...
- 740. Delete and Earn
Given an array nums of integers, you can perform operations on the array. In each operation, you pic ...
- Python(IO model)
day34 IO model 举例:https://blog.csdn.net/ZWE7616175/article/details/80591587 参考:http://www.cnblogs.co ...
- HDU 6205(尺取法)2017 ACM/ICPC Asia Regional Shenyang Online
题目链接 emmmm...思路是群里群巨聊天讲这题是用尺取法.....emmm然后就没难度了,不过时间上3000多,有点.....盗了个低配本的读入挂发现就降到2800左右, 翻了下,发现神犇Clar ...
- 《JAVA与模式》之合成模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述合成(Composite)模式的: 合成模式属于对象的结构模式,有时又叫做“部分——整体”模式.合成模式将对象组织到树结构中,可以用来描述 ...