Python多级菜单
作业2:多级菜单
三级菜单
可依次选择进入各子菜单
所需新知识点:列表、字典
1、流程图

2、登录界面,输入对应索引
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Version:Python3.5.0 # 初始化城市信息
city_dict = {'广州': {'天河': ['天河体育馆', '金山大夏'],
'越秀': ['越秀公园', '光孝寺'],
'番禺': ['长隆欢乐世界', '大夫山']},
'深圳': {'福田': ['莲花山', '赛格'],
'龙华': ['元山公园', '龙城广场'],
'南山': ['世界之窗', '欢乐谷']},
'佛山': {'禅城': ['梁园', '孔庙'],
'南海': ['千灯湖', '南国桃园'],
'顺德': ['清晖园', '西山庙']}} # 创建城市索引列表
city_index = [(index, key) for index, key in enumerate(city_dict)]
city_index.append((len(city_index), '退出')) # 增加退出选项
while True:
print('欢迎查询城市信息')
print('--------------------------------')
for i in city_index: # 打印城市索引菜单
for j in i:
print(j, end=' ')
print('') get_city = input('请选择查询的索引号:')
if not get_city.isdigit():
print('请输入一个数字索引号。')
continue
elif int(get_city) >= len(city_index): # 输入索引号大于等于城市索引号长度
print('输入的数字太大,请重输入。')
continue
elif int(get_city) == len(city_index)-1: # 最大的索引号为 退出程序对应的索引号
print('欢迎再次登录,bye bye!')
break
else:
choose_city = city_index[int(get_city)][1] # 获取选择的城市名称
# 创建 区 的索引列表
area_index = [(index, key) for index, key in enumerate(city_dict[choose_city])]
area_index.append((len(area_index), '返回')) # 增加返回上一级菜单选项
while True:
for i in area_index: # 打印选择城市的区索引菜单
for j in i:
print(j, end=' ')
print('') get_area = input('请选择查询的索引号:')
if not get_area.isdigit():
print('请输入一个数字索引号。')
continue
elif int(get_area) >= len(area_index): # 输入索引号大于城市索引号
print('输入的数字太大,请重输入。')
continue
elif int(get_area) == len(area_index)-1: # 最大的索引号为 上级菜单对应的索引号
print('返回到上一级菜单。')
break
else:
choose_area = area_index[int(get_area)][1] # 获取选择区的名称
print(city_dict[choose_city][choose_area]) # 打印该区的信息
print('--------------------------------')
Python多级菜单的更多相关文章
- s12-day01-work02 python多级菜单展示
README # README.md # day001-work-2 @南非波波 功能实现:多级菜单展示 流程图:  程序实现: ...
- python 多级菜单 纯循环与分支
源代码: dic1 = {'湖南':{'衡阳':{'珠晖区':'湖南工学院'},'湘潭':{'晖晖':'啦啦'}}, '北京':{'朝阳': {"德玛:北京大学"}}}print( ...
- python作业设计:多级菜单,并可依次进入各级子菜单
'''作业三:多级菜单 三级菜单 可依次选择进入各子菜单 所需新知识点:列表.字典 ''' data = { "北京":{ "昌平":{ "沙河&qu ...
- Python练习----多级菜单
多级菜单要求: 1.三级菜单 2.可依次选择进入各子菜单 3.可以返回上一层 4.输入'q'可以退出 脚本: zone = { '北京' : { ' ...
- Python作业之多级菜单
作业之多级菜单 菜单实现要求: 1. 列出菜单选择供选择 2. 选择对应内容进入下一级菜单 3. 任何时候都可以选择退出程序或返回上一级菜单 具体代码如下: goods = {'华为':{'A系':{ ...
- Python简单实现多级菜单
# -*- coding: utf-8 -*- # @Time : 2018-06-01 13:40 # @Author : 超人 # @Email : huxiaojiu111@gmail.com ...
- Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)
一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False: print("-第一层") wh ...
- 2_python之路之多级菜单
python之路之多级菜单 1.使用知识点 (1)列表,字典的使用 (2)if条件判断语句 (3)for/while循环的使用 2.代码详细 #!/usr/bin/env python # _*_ c ...
- Day1作业---登录接口及多级菜单
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Ma Qing data = { "山东" :{ "济南&qu ...
随机推荐
- DB.使用Oracle时的遇到的问题
1.(20190225)ojdbc14.jar 来自“E:\ZC_DB\_Connector\Oracle\10g\Oracle Database 10g Release 2 (10.2.0.4) J ...
- JAVA基础知识详解
1. JVM是什么 JVM是Java Virtual Mechine的缩写.它是一种基于计算设备的规范,是一台虚拟机,即虚构的计算机. JVM屏蔽了具体操作系统平台的信息(显然,就像是我们在电脑上开了 ...
- (GoRails)ActionCable如何用Redis + 菜鸟redis教程
视频: https://gorails.com/episodes/how-actioncable-uses-redis?autoplay=1 原理PubSub, 你进入一个频道,然后就能接收,和发布信 ...
- Spring4 MVC HelloWorld 注解和JavaConfig实例
在这一节中,我们以 Spring4 MVC HelloWorld 注释/JavaConfig为示例,一步一步以简单的方式学习Spring4 MVC 的注解,项目设置,代码,部署和运行. 在先前的 Sp ...
- UVA-1604 Cubic Eight-Puzzle (双向BFS+状态压缩+限制搜索层数)
题目大意:立体的八数码问题,一次操作是滚动一次方块,问从初始状态到目标状态的最少滚动次数. 题目分析:这道题已知初始状态和目标状态,且又状态数目庞大,适宜用双向BFS.每个小方块有6种状态,整个大方格 ...
- Xadmin的配置及使用
xadmin是Django的第三方扩展,可是使Django的admin站点使用更方便. 1. 安装 通过如下命令安装xadmin的最新版 pip install https://github.com/ ...
- 是用TOP关键字对COUNT性能优化
在对大数据量进行检索或者分页的时候需要计算命中记录数大小,一般情况下我们可以直接COUNT得到结果,但是当结果集很大的时候(比如1万以上)具体结果值已经不重要了.没有人真的翻阅1万条记录,比如百度,你 ...
- IO的概念
什么是IO: 在内存中存在数据交换的操作都可以认为是IO操作 和终端交互:input print 和磁盘交互:read write 和网络交互:recv send IO密集型程序:在程序执行过程中存在 ...
- jenkins执行shell命令,有时会提示“Command not found”
这个问题其实就是环境变量没有配准确 (1)检查你在Jenkins中设置的maven是否准确,可以通过[new job]按钮查看新建job中是否有maven选项,没有就是你配置的不准确 如果你下载的插件 ...
- Oracle 和 mysql 的批量操作Sql语句 的区别
正确的oracle批量新增的sql是: 方法 1: <insert id="insertAttractionsBatch" parameterType="java. ...