Python实现简单的三级菜单
话不多说,直奔代码
- # 要处理的字典
- dic1 = {
- '北京': {
- '东城':
- {
- '沙河': ['沙河机场', '链家'],
- '天通苑': ['北方明珠', '天通尾货']
- },
- '朝阳':
- {
- '花家地': ['朝阳公园', '望京soho'],
- '北小河': ['北小河公园', '北京中学']
- }
- },
- '上海': {
- '虹桥':
- {
- '虹桥机场': ['超市', '特产店', '水吧'],
- '东方明珠': ['电影院', '游泳馆', '餐馆']
- },
- '浦东':
- {
- '景秀路': ['世纪公园', '立交桥'],
- '中环路': ['鲁迅公园', '同济大学']
- }
- },
- '河北': {
- '石家庄':
- {
- '行唐': ['东正', '阳关'],
- '赵县': ['赵州桥', '高村乡']
- },
- '唐山':
- {
- '滦南县': ['司各庄镇', '安各庄镇'],
- '玉田县': ['玉田镇', '亮甲店镇']
- }
- }
- }
- # 方法一:
- tag=True
- while tag:
- menu1=menu
- for key in menu1:
- print(key)
- choice1=input('The First Layer>>: ').strip()
- if choice1 == 'b':break
- if choice1 == 'q':
- tag = False
- break
- if choice1 not in menu1:continue
- while tag:
- menu2=menu1[choice1]
- for key in menu2:
- print(key)
- choice2 = input('The Second Layer>>: ').strip()
- if choice2 == 'b':break
- if choice2 == 'q':
- tag=False
- break
- if choice2 not in menu2:continue
- while tag:
- menu3 = menu2[choice2] for key in menu3:
- print(key)
- choice3 = input('The Third Layer>>: ').strip()
- if choice3 == 'b':break
- if choice3 == 'q':
- tag=False
- break
- if choice3 not in menu3: continue
- while tag:
- menu4 = menu3[choice3] for key in menu4:
- print(key)
- choice4 = input('The Fourth Layer>>: ').strip()
- if choice4 == 'b':break
- if choice4 == 'q':
- tag=False
- break
- if choice4 not in menu4: continue
- current_layer = dic1
- parent_layer = [] # 用来放置父级的key组成的list
- choose_end=['沙河机场', '链家','北方明珠', '天通尾货','朝阳公园', '望京soho','北小河公园', '北京中学','超市', '特产店', '水吧',
- '电影院', '游泳馆', '餐馆','世纪公园', '立交桥','鲁迅公园', '同济大学','东正', '阳关','赵州桥', '高村乡','司各庄镇',
- '安各庄镇','玉田镇', '亮甲店镇',
- ]
- Tag = True
- while Tag:
- print('\033[31m%s \033[0m' % '请输入序号'.ljust(20, '*'))
- print('\033[31m***输入back返回上一级菜单,或者quit退出***\033[0m')
- for i in current_layer:
- print(i)
- choose = input('>>>:').strip()
- if choose in current_layer:
- if choose in choose_end:
- print('\033[31m%s \033[0m' % '已经到最后一页'.center(40, '*'))
- continue
- else:
- parent_layer.append(current_layer)
- current_layer = current_layer[choose]
- # else:
- # print('\033[31m%s \033[0m' % '已经到最后一页'.center(40, '*'))
- elif choose == 'back':
- if len(parent_layer) != 0:
- current_layer = parent_layer.pop()
- else:
- print('\033[31m%s \033[0m' % '已经到达最上级菜单'.center(40, '*'))
- elif choose == 'quit':
- print('\033[31m Bye~Bye~^_^ \033[0m')
- break
- else:
- print('\033[31m%s \033[0m' % '输入有误,请重新输入'.center(40, '*'))
Python实现简单的三级菜单的更多相关文章
- Python进阶实战之三级菜单
目录 一.Python进阶实战之三级菜单 1.1 面条版 1.2 文艺青年版 一.Python进阶实战之三级菜单 打印省.市.县三级菜单 可返回上一级 可随时退出程序 1.1 面条版 menu = { ...
- Python学习之编写三级菜单(Day1,作业二)
作业二:多级菜单 三级菜单 可依次进入各子菜单 在各级菜单中输入B返回上一级Q退出程序 知识点:字典的操作,while循环,for循环,if判断 思路: 1.开始,打印一级菜单让用户进行选择(可以输入 ...
- python第四天 三级菜单新思路
今天是一个坎,在做三级菜单时卡住了,因为想要简洁的代码,就要用到递归函数,卡的不要不要的!不过最后在同学老师的提点帮助下,还是解决了! 2017-5-10发现之前的代码有BUG今天 修改了! 作业要求 ...
- Python3学习之路~2.5 简单的三级菜单程序
程序:三级菜单 需求: 1.打印省.市.县三级菜单2.可返回上一级3.可随时退出程序 代码1: data={ "山东":{ "济南":["历下区&qu ...
- python基础之省份三级菜单
菜单 menu = { #定义一个字典 '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家 ...
- python入门编程之三级菜单编程
菜单实现功能输入一层显示下一层菜单不论在哪层输入b返回上一层不论在哪层输入q退出菜单此代码通过利用字典的知识可以实现_Author_ = 'jc'data = { '北京':{ '昌平':{ '沙河' ...
- Python学习之字典--三级菜单
效果图: 实现代码: dic = { '人物':{ '帽子':{'前年玄铁帽'}, '武器':{'屠龙宝刀'} }, '属性':{ '力量':{35}, '敏捷':{66} }, '任务':{ '主线 ...
- Python之路-(三级菜单)
data = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youk ...
- Python学习5,三级菜单实例
_author_ = "Happyboy" data = { '北京':{ "昌平":{ "沙河":["Happyboy" ...
随机推荐
- PPT分享 | 怎么在区块链上保护隐私?
艾伯特AI人工智能(公众号:aibbtcom)按: (编者按:在12月3日的亚太区以太坊社区培训和交流Meetup深圳站上,Vitalik作了<怎么在区块链上保护隐私>的演讲,谈到了区块链 ...
- 基于 CDH 构建推荐系统
我理解的推荐系统本质是一种排序方式.排序的规则是按照我们预测的用户喜好程度的一个排序的列表,而如何定义用户的喜好程度是推荐系统要解决的核心问题.机器学习的算法只是推荐系统的一部分.构建一个完整的推荐系 ...
- 零散Linux命令
1. # ps -ef|grep java 查询java进程 2. # kill -9 进程号 关闭指定进程
- linux(ubuntu)环境下安装及配置JDK
安装完IDEA之后遇到了问题,发现jdk安装完之后配置环境变量好困难,下面总结一下我的安装及配置方式: JDK下载链接:http://download.oracle.com/otn-pub/java/ ...
- Sql Server 索引以及页和区
索引(Index),相信大家都知道就是给表中的数据添加了一个目录,使我们可以快速检索到我们想要的数据,但这个目录是什么?SqlServer又是如何管理的?要搞明白这些,我们就要先了解sqlserver ...
- 开始补习JavaScript的第一天
JavaScript介绍: ①.JavaScript是一种解释性的,基于对象的脚本语言. ②.JavaScript是一种轻量级的编程语言,可以嵌入到html页面中,由浏览器来解释执行. ③.JavaS ...
- hosts文件路径及文件介绍
路径:WINDOWS/system32/drivers/etc/hosts 内容127.0.0.1 localhost 一. Hosts文件的位置 很多用户都知道在Window系统中有个H ...
- JavaScript(第三十天)【XPath】
XPath是一种节点查找手段,对比之前使用标准DOM去查找XML中的节点方式,大大降低了查找难度,方便开发者使用.但是,DOM3级以前的标准并没有就XPath做出规范:直到DOM3在首次推荐到标准规范 ...
- C语言助教批改
作业批改 每次作业批改后写一篇作业点评,助教轮流写作业总结.(总结分工老师安排). 每个助教点评自己负责的同学博客,点评要详细,不能只有一句话. 有比较优秀博客请或典型问题推荐到qq群,并发给写总结助 ...
- 201621123040《Java程序设计》第2周学习总结
1.本周学习总结 关键词:Java中的字符串与数组 c语言基本语法的迁移 相关总结:在一周的学习过程中,我自主学习Java的基本语法,前期的相关语法与c语言的基本语法相近,也算是做到了很好的回顾:在郑 ...