day7 新三级菜单
# 简单吧简单吧,用动态变量不停的改变进行遍历
menu = {
"北京":{
"朝阳":{
"国贸":{
"CICC":{},
"HP":{},
"CCTV":{},
},
"望京":{
"陌陌":{},
"奔驰":{},
":{},
},
"三里屯":{
"优衣库":{},
"apple":{},
}
},
"昌平":{
"沙河":{
"老男孩":{},
"阿泰包子":{},
},
"天通苑":{
"链家":{},
"我爱我家":{},
},
"回龙观":{},
},
"海淀":{
"五道口":{
"谷歌":{},
"网易":{},
"Sohu":{},
"Sogo":{},
"快手":{},
},
"中关村":{
"youku":{},
"Iqiyi":{},
"汽车之家":{},
"新东方":{},
"腾讯":{},
},
},
},
"上海":{
"浦东":{
"陆家嘴":{
"CICC":{},
"高盛":{},
"摩根":{},
},
"外滩":{},
},
"闵行":{},
"静安":{},
"":{},
},
"山东":{
"济南":{},
"德州":{
"乐陵":{
"顶乌镇":{},
"城区":{},
},
"平原":{},
},
"青岛":{},
},
}
current_layer = menu #实现动态循环的初始变量
# parent_layer = menu
parent_layers = [] #保存父籍,最后一个元素永远都是父亲籍
while True :
for key in current_layer:
print(key)
choice = input(">>>:").strip()
if len(choice) == 0:continue
if choice in current_layer:
parent_layers.append( current_layer) #在进下一层之前把当前层进行尾部追加,即下一层的父亲籍
current_layer = current_layer[choice] #将要被遍历的字典范围根据用户输入进行缩减范围
elif choice == "b":
if parent_layers:
current_layer = parent_layers.pop()#进行最后一个的弹出并赋值返回父亲层
else:
print("无此项")
day7 新三级菜单的更多相关文章
- day24 新三级菜单
china = { "shandong":{ "linyi":["lanshan","nanfang","he ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- Python字典实现三级菜单
################################################ # Task Name: 三级菜单 # # Description:打印省.市.县三级菜单 # # 可 ...
- python 三级菜单 while循环三次,湖北省市-县-街道的选择,3个while的循环 -day2
python编写一个三级while的循环菜单 1.定义字典,字典里面嵌套字典,内嵌字典的值为列表. 思路: 湖北省的市:字典中的定义3个字典,用于存储{序列-键:市名} shiqu_dir = {} ...
- 三级菜单的实现(python程序)
这是刚开始写程序,三级菜单的程序基本是用字典实现,很low,以后学习了其他更好的东西,我会继续上传,然后争取在我水平高深之后,把这个简单的东西实现的狠高大上. _author_ = "zha ...
- 老男孩python学习之作业二---三级菜单
因为之前花力气完成了购物小程序的作业 现在做这个三级菜单简直是so easy!! 1.显示省级菜单 2.交互,提示用户输入要查看的省份(退出e) 2.1.用户正确输入列表中的省份 3.显示市级菜单 3 ...
- dict的操作和三级菜单
dict的基本操作 # Author:nadech info = { "stu001":"sjp", "stu002":"cxx& ...
- python day1 之三级菜单的正确姿势
看了几个同学有关三级菜单的实现,都是通过一级一级输出,是较为过程的实现.另外如果菜单(树形结构)更多级这样处理起来就比较麻烦了. 可以使用python强大的列表和字典,实现的更优美或简洁一些: 注:复 ...
- Python_简单三级菜单制作
一:制作要求 1.三级菜单 2.可依次选择进入各子菜单 3.所需新知识点:字典,列表 *本文通过三种方法完成,第一种:只使用循环,第二种:使用列表,第三种:使用字典 二:FlowChart流程图 与上 ...
随机推荐
- VisualStudio2008+水晶报表的使用
1:打开VisualStudio2008,新建一个Windows窗体应用程序项目,名称可以自定义,选择项目的保存路径,然后确定 刚新建好的窗体应用程序: 2. 把准备好的水晶报表插件复制到项目中的bi ...
- 如何学习 Webpack
webpack-howto Tip: 本文是 webpack-howto 的原文,我觉得这篇文章写得非常好,确实算是目前学习 webpack 入门的必读文章.直接收录之. 本教程的目标 这是一本教你如 ...
- Linux_软件安装管理
开始学习rpm,yum等命令的使用,下面的地址可供你学习 大部分都大同小异! 感谢作者:https://segmentfault.com/a/1190000011200461
- 学习angularjs的ng-hide和ng-disabled
一,页面上有一个checkbox和一个文本框.切换checkbox能对文本框输入文本与否: <input type="checkbox" ng-model="ckS ...
- centos下升级git版本的操作记录
在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时候,可能会报类似如下的错误: error: The requested URL returned e ...
- 网络编程学习笔记:Socket编程
文的主要内容如下: 1.网络中进程之间如何通信? 2.Socket是什么? 3.socket的基本操作 3.1.socket()函数 3.2.bind()函数 3.3.listen().connect ...
- required: true,el-upload :action="UploadUrl()"
<el-form-item label="所属班级:" prop="Name" :rules="[{ required: true, messa ...
- Scrum Meeting 5
第五次会议 No_00:工作情况 No_01:任务说明 待完成 已完成 No_10:燃尽图 No_11:照片记录 待更新 No_100:代码/文档签入记录 No_101:出席表 ...
- 第三周Linux学习报告
Linux内核源代码简介: arch/x86中内容重点关注 init目录重要,内核启动相关的代码基本上都在init目录下.如main.c等.Start_kernel函数相当于普通C程序的main函数. ...
- SQL大杂烩
DML 语句(数据操作语言)Insert.Update. Delete.Merge DDL 语句(数据定义语言)Create.Alter. Drop.Truncate DCL 语句(数据控制语言)Gr ...