数据结构:menu = {'北京':{'海淀':{'五道口':{'soho':{},'网易':{},'google':{}},'中关村':{'爱奇艺':{},'汽车之家':{},'youku':{},},'上地':{'百度':{},},},'昌平':{'沙河':{'老男孩':{},'北航':{},},'天通苑':{},'回龙观':{},},'朝阳':{},'东城':{},},'上海':{'闵行':{"人民广场":{'炸鸡店':{}}},'闸北':{'火车战':{'携程':{}}},'浦东':{},},'山东':{},
}需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
所需新知识点:列表、字典

 1 # -*- coding:utf-8 -*-
 2 # author:heimu
 3 '''
 4 需求:
 5 可依次选择进入各子菜单
 6 可从任意一层往回退到上一层
 7 可从任意一层退出程序
 8 所需新知识点:列表、字典
 9
10 '''
11 menu = {
12     '北京':{
13         '海淀':{
14             '五道口':{
15                 'soho':{},
16                 '网易':{},
17                 'google':{}
18             },
19             '中关村':{
20                 '爱奇艺':{},
21                 '汽车之家':{},
22                 'youku':{},
23             },
24             '上地':{
25                 '百度':{},
26             },
27         },
28         '昌平':{
29             '沙河':{
30                 '老男孩':{},
31                 '北航':{},
32             },
33             '天通苑':{},
34             '回龙观':{},
35         },
36         '朝阳':{},
37         '东城':{},
38     },
39     '上海':{
40         '闵行':{
41             "人民广场":{
42                 '炸鸡店':{}
43             }
44         },
45         '闸北':{
46             '火车战':{
47                 '携程':{}
48             }
49         },
50         '浦东':{},
51     },
52     '山东':{},
53 }
54
55 update_menu = menu          # 定义临时保存菜单的变量
56 menu_list = []              # 定义存储每次菜单更新的列表
57 while True:
58     print('-------- ' + str(list(update_menu.keys())) + '---------')
59     input_choose = input("【b(B)返回,q(Q)退出】请输入你的选择:").strip()
60     if input_choose in update_menu:
61         menu_list.append(update_menu)                   # 把整个菜单(字典)当做一个列表元素存储
62         update_menu = update_menu[input_choose]         # 更新菜单
63     elif input_choose.lower() == 'b':
64         if menu_list:                                   # 如果列表不为空
65             update_menu = menu_list.pop()               # 将列表的最后一个元素(即上一个菜单状态)弹出
66     elif input_choose.lower() == 'q':
67         break
68     else:
69         print("输入错误,请重新输入")

View Code


转载于:https://www.cnblogs.com/heimu24/p/8747318.html

路飞学城14天集训营作业2—三级菜单相关推荐

  1. 路飞学城python电子书_路飞学城-Python开发集训-第一章

    路飞学城-Python开发集训-第一章 1.本章学习心得.体会 我: 间接性勤奋. 我: 学习方法论:输入--输出---纠正 我: 对对对 走出舒适区, 换圈子, 转思路,投资自我加筹码. 我: 圈子 ...

  2. 路飞学城-Python爬虫集训-第一章

    自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...

  3. python绘制路飞_路飞学城-Python开发集训-第一章

    一.学习体会 学习本章的最大体会是终于搞明白,高级语言中编译型与解释型的区别和含义,因为之前看过一些视频,对基础知识还是比较熟悉,所以学起来不费什么力,不过金角大王说越往下内容越多,一定要加油学完8章 ...

  4. 路飞学城-Python开发集训-第2章

    1.本章节学习了列表,对python有了更深一层的了解. 2.学习总结: 二进制: 狼烟大法:17根烟算出131072(算完你已经挂了吧,老师= =!) 1024   512   256   128  ...

  5. python全栈开发实战 路飞学城_路飞学城-python开发集训-第一部分

    本节学习了python的基本操作,如运算.输出等 能实现简单的登录程序 数据类型: 数字: int:整数.长整数(python2为long) float:浮点型 复数型 字符串: 单引号.双引号没有区 ...

  6. 路飞学城python全栈开发_python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)...

    昨日内容回顾 1. 为什么要做前后端分离?-前后端交给不同的人来编写,职责划分明确.-API (IOS,安卓,PC,微信小程序...)-vue.js等框架编写前端时,会比之前写jQuery更简单快捷. ...

  7. Python高级全栈开发实战 老男孩课程S16+路飞学城项目+女神串讲 Python全栈直通车课程

    python高级全栈开发实战 老男孩课程S16+路飞学城项目+女神串讲 Python全栈直通车课程 Python高级全栈开发实战老男孩课程,是可以帮助同学们从零基础开始到项目开发实战的全栈课程,内容非 ...

  8. 路飞学城python全栈开发_[Python] 老男孩路飞学城Python全栈开发重点班 骑士计划最新100G...

    简介 老男孩&路飞学城Python全栈开发重点班课程,作为Python全栈教学系列的重头戏,投入了全新的课程研发和教学精力,也是Python骑士计划的核心教学,由ALEX老师开班镇守,一线技术 ...

  9. 路飞学城Python-Day14

    转载:python之路-路飞学城-python-book [25.常用模块-logging模块详解] [26.常用模块-logging模块详解2] [27.常用模块-logging模块日志过滤和日志文 ...

最新文章

  1. RedHat7.4最小化安装yum源不可用问题解决
  2. 云计算设计模式(十六)——优先级队列模式
  3. 歌德语言证书c1考什么,Goethe-Zertifikat C1 (歌德中级证书C1)考试细则 2010.2.1版.pdf...
  4. linux apache 多域名配置,apache-2.4.12基于域名访问的多虚拟主机配置
  5. java随机输出_用java随机输出汉字
  6. VMware虚拟机安装RHEL6.5系统
  7. 计算机c语言在线课堂,计算机(C语言)
  8. PGM:图模型学习概述
  9. 如何入门单片机C语言
  10. 项目管理-项目风险管理
  11. win10易升_史上最稳定的win10版本,四大更新内容强势来袭,你敢升级吗?
  12. 【AI教程】AI科研绘图
  13. java怎么做rfif上位机软件,最简单的【上位机软件】详解
  14. prometheus+grafana监控rabbitmq
  15. ORACLE ORA-28545: 连接代理时 Net8 诊断到错误 解决办法
  16. 含泪讲述拿到美团offer的心酸历程......
  17. 一心多用多线程-细谈java线程池submit与execute的区别
  18. 缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印
  19. 套接字I/O模型-WSAEventSelect
  20. 使用FFmpeg命令实现音视频转码的备忘录

热门文章

  1. Windows中查找命令的路径 (类似Linux中的which命令)
  2. CentOS6.6+Puppet3.7.4分布式部署Nagios监控系统
  3. 中国IT人,你们是否从没想过开发一款伟大的产品?
  4. 网络管理员的任务与职责
  5. python中的for in 语句_2、python,for..in语句
  6. 微信小程序有关于Linux的吗,微信小程序可以跳转到手机 app 啦!
  7. list集合下标从几开始_Java基础进阶 集合框架详解
  8. python anaconda安装redis_Linux下安装python,redis
  9. Linux之文件目录常用命令
  10. 今日恐慌与贪婪指数为68 贪婪程度有所上升