python(5)- 简单练习:python三级菜单优化
2024-08-24 10:44:28
python三级菜单优化,菜鸟版链接:http://www.cnblogs.com/xuyaping/p/6648170.html
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
} current_layer=menu #当前层
last_layers=[menu] #上一层
while True:
for key in current_layer: #打印第一层菜单
print(key)
choice=input(">>:").strip() #选择第二层菜单
if choice in current_layer:
last_layers.append(current_layer) #进入下一层菜单前,把当前层菜单加入上一次菜单中
current_layer=current_layer[choice] #当前层菜单被重新定义,进入循环打印下一层菜单
if choice==0: #选择菜单层为空,结束本次循环
continue
if choice=="q": #选择菜单层为“q”,结束本层循环
break
if choice=="b": #选择菜单层为“b”,返回上一层菜单
current_layer=last_layers[-1] #返回上一层菜单前,当前层被重新定义
last_layers.pop() #删除最后一次进入下一层菜单所加入的上一层列表数据
print("程序结束!")
最新文章
- cc1101 ASK发射模式
- 【BZOJ 1178】【APIO 2009】CONVENTION会议中心
- 使用media Queries实现一个响应式的菜单
- WindowsPhone-GameBoy模拟器开发五--使用XNA初略实现Gameboy显示系统
- android之文件权限问题
- 【转】用ASP.NET加密Cookie数据
- CentOS(六)--Linux系统的网络环境配置
- [置顶] VB 中chr(10)、chr(13)和vblf、vbcr、vbcrlf的分别
- 【LaTeX排版】LaTeX论文模版
- selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)
- 20175202 《Java程序设计》第五周学习总结
- Springboot整合二 集成 rabbitmq
- Python杀死windows进程
- date命令说明
- 第十章 优先级队列 (b4)完全二叉堆:批量建堆
- java 读写 excle 完整版
- HTML5 本地文件操作之FileSystemAPI实例(一)
- spring applicationContext.xml 配置文件 详解
- 【Anisble 文档】【译文】测试策略
- ✅问题:Rails.ajax的data不支持{}hash格式。必须使用string。 dataType的格式。
热门文章
- [整理]菜鸟教程:docker使用笔记
- No entity found for query异常
- 【bzoj3513】[MUTC2013]idiots FFT
- 【Luogu】P3761城市(dfs)
- ubuntu 安装tomcat<;服务器>;
- [UOJ#276]【清华集训2016】汽水
- BZOJ 4553 [Tjoi2016&;Heoi2016]序列 ——CDQ分治 树状数组
- LibreOJ2241 - 「CQOI2014」排序机械臂
- POJ4007 Flood-it!
- 【MFC】 点击不同的按钮后在界面同一位置显示不同的对话框内容(转)