用字典存储数据

可以随时返回上一级,随时退出程序

只能用循环判断等内置方法,不得导入模块

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入门基础--三级菜单的更多相关文章

  1. [作业] Python入门基础---购物车小程序

    1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的 ...

  2. [作业] Python入门基础--用户登陆

    让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定登陆 #__author:Mifen #date: 2018/11/28 import time #自定义本地用户名和密码 user_nam ...

  3. [作业] Python入门基础--猜年龄

    age = 20 while True: try: guess_age = int(input('guess age:')) if guess_age > age: print('Is bigg ...

  4. [作业] Python入门基础---九九乘法表

    1.while 循环 : x = 1 while x < 10: y = 1 while y <=x: print('%d*%d=%2d' % (y,x,x*y),end = '\t') ...

  5. Python 入门基础6 --字符编码、文件操作1

    今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...

  6. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  7. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  8. Python入门基础学习 一

    Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...

  9. python练习_三级菜单

    python练习_三级菜单 需求: 做一个地区查询三级菜单,输入一级能够打印下一级 在第三级个第二级输入e可以返回上一级 在任意一级输入q则退出程序 以下代码实现的功能与思路: 功能: (1)通过In ...

随机推荐

  1. Jenkins中执行docker命令报错

    Cannot connect to the Docker daemon. Is the docker daemon running on this host?   在配置Jenkins从Gitlab自 ...

  2. Microsoft SQL Server 2012 管理 (1): 安装配置SQL Server 重点

    SQL Server 可以在实例,数据库,列,查询分别指定排序规则 /* Module 1 - working with Clollations */ -- 1.1 Obtain the Instan ...

  3. ES6 学习笔记之三 函数参数默认值

    定义函数时为参数指定默认值的能力,是现代动态编程语言的标配.在ES6出现之前,JavaScript是没有这种能力的,框架为了实现参数默认值,用了很多技巧. ES6 的默认参数值功能,与其他语言的语法类 ...

  4. 基于Quartz.net的远程任务管理系统 一

    在上一篇绪中,已经介绍了整个项目的情况下了,接下来就是开始一步步做起来了. 首先:先整个我们的Job任务表,以及Job执行日志表.SQL如下: drop table if exists job_inf ...

  5. 使用css保持一定宽高比例

    需求描述:移动端实现横跨页面半圆.(类似问题,实现4x4的正方形网格) 简化问题,我们可以理解为实现一个高度和宽度比为1:2的块. 需要解决问题: 1,高度和宽度按照一定比例. 2,外容器高度和宽度不 ...

  6. day 75天 bbs 项目第一天 ,auth登陆

    from django.db import models from django.contrib.auth.models import AbstractUser class UserInfo(Abst ...

  7. python 中 使用sys模块 获取运行脚本时在命令行输入的参数

    在python项目的开发的过程中, 经常需要运行各种python脚本, 有时候还需要根据不同的使用情况输入不同的参数, 如果每次都去编辑一下脚本那就太麻烦,太耗费时间了, 这时就可以使用Python自 ...

  8. Math-645. Set Mismatch

    The set S originally contains numbers from 1 to n. But unfortunately, due to the data error, one of ...

  9. (1)RGB-D点云生成

    bin文件夹下为生成的可执行文件generate_cloud,执行时和data文件放在同一文件夹下. 图像数据来自小觅相机. src下的源码,包括generatePointCloud.cpp和CMak ...

  10. FunDA(4)- 数据流内容控制:Stream data element control

    上节我们探讨了通过scalaz-stream-fs2来驱动一套数据处理流程,用fs2的Pipe类型来实现对数据流的逐行操作.本篇讨论准备在上节讨论的基础上对数据流的流动和元素操作进行优化完善.如数据流 ...