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("程序结束!")

  

python(5)- 简单练习:python三级菜单优化的更多相关文章

  1. Py修行路 python基础 (五)三元运算 字符编码 元组 集合 三级菜单优化!

    三元运算 条件判断不能加冒号: a=3 b=5 c=a if a<b else b oct() 转成八进制的简写:16进制 标志:BH为后缀或是0x为前缀hex() 转成16进制 元组 跟列表是 ...

  2. Python之双色球选购和三级菜单问题

    1:双色球选购# 1 双色球(假设一共八个球,6个红球,球号1-32.2个蓝球,球号1-16)# 2 确保用户不能重复选择,不能超出范围# 3 用户输入有误时有相应的错误提示# 4 最后展示用户选择的 ...

  3. 老男孩python学习之作业二---三级菜单

    因为之前花力气完成了购物小程序的作业 现在做这个三级菜单简直是so easy!! 1.显示省级菜单 2.交互,提示用户输入要查看的省份(退出e) 2.1.用户正确输入列表中的省份 3.显示市级菜单 3 ...

  4. day17 python递归案例(二分查找,三级菜单)

    递归函数与三级菜单 menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {} ...

  5. (Python基础)最Low三级菜单

    #-*-coding:utf-8-*- #_author_: Keep #三级菜单 menu = { '中国':{ '广东省':{ '广州市':{ '海珠区':{}, '荔湾区':{}, '越秀区': ...

  6. Python初学者第十三天 三级菜单程序小作业

    13day 作业题目: 三级菜单 作业需求: 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村' ...

  7. Python学习第二天-编写三级菜单

    编写三级菜单:1. 运行程序输出第一级菜单2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单3. 菜单数据保存在文件中4. 让用户选择是否要退出5. 有返回上一级菜单的功能 # Author: z ...

  8. Python - 三级菜单优化方法 (单层循环)

    menu = {...... } current_layer = menu layers = [] while True: for k in current_layer: print(k) choic ...

  9. python小程序--Three(三级菜单)

    #!/usr/bin/env python # _*_ coding:utf8 _*_ data = { "山东省":{ "滨州市":{"惠民县&qu ...

随机推荐

  1. Tomcat 禁用PUT方法, 404/500错误重定向, 网站图标

    (1) Tomcat禁用Put等不安全方法. <security-constraint> <web-resource-collection> <web-resource- ...

  2. Get Sauce(状压DP)

    描述 In order to celebrate the 8th anniversary of ZOJ, LCLL goes to a sauce factory to "Get Sauce ...

  3. 2018 “百度之星”程序设计大赛 - 初赛(B)

    degree  Accepts: 1581  Submissions: 3494  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 1310 ...

  4. [图论训练]BZOJ 3245: 最快路线【最短路】

    Description 精 明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知 道能开多快.不过有一个合理 ...

  5. mybatis的双数据源创建

    一.jdbc中: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://202.108.211.55:3306/app-apm?useUnic ...

  6. UML系列,使用UML实现GOF Design patterns,常用模式类图解读

    1.单例:Singleton, DirectedAssociation

  7. canvas之webgl的打开方式

    OK,一个完整的dome是从无到有的.这篇文章将记录我的webgl之旅.不定时更新. 首先,新建一个canvas元素. 然后获取到它. var e = document.ElementById('ca ...

  8. 转 python基础学习笔记(一)

    http://www.cnblogs.com/fnng/category/454439.html 下面我们创建一个文件 root@fnngj-H24X:/hzh/python# touch hell. ...

  9. 慕课 python 操作数据库

    test_connection import MySQLdb conn = MySQLdb.Connect( host = '127.0.0.1', port = 3306, user = '**** ...

  10. PHP解码Json(json_decode)字符串返回NULL的原因及解决方法(转载)

    本文主要为大家讲解了php在使用json_decode函数解码json字符串时,解码不成功返回NULL的问题原因分析和解决方法,感兴趣的同学参考下. 一般来说,php对json字符串解码使用json_ ...