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 ...
随机推荐
- erlang 一个高性能web框架 Cowboy 的使用笔记
环境:ubuntu_server 1210 目的:构建web版hello world程序 参考链接:http://roberto-aloi.com/blog/2013/07/13/create-dep ...
- gitlab访问限制问题------Forbidden
解决方案: cd /etc/gitlab vim /gitlab.rb gitlab_rails['rack_attack_git_basic_auth'] = { 'enabled' => t ...
- jackson springboot null节点忽略配置
spring: jackson: date-format: yyyy-MM-dd HH:mm:ss default-property-inclusion: non_null spring.jackso ...
- 【Scipy】初步认识
Scipy扩展包括多种多样的工具箱,这些工具致力于解决科学计算中的常见问题.不同的子模块对应不同的应用,比如插值, 整合, 优化, 图像处理, 统计, 特殊功能等等. scipy可以和其他的标准科学计 ...
- HDFS读写流程
01.并行读取 02.逐个节点写入
- 集成学习之Boosting —— Gradient Boosting原理
集成学习之Boosting -- AdaBoost原理 集成学习之Boosting -- AdaBoost实现 集成学习之Boosting -- Gradient Boosting原理 集成学习之Bo ...
- Yahoo! Finance财经数据PYTHON临时读取方法
本篇文章转自简书:http://www.jianshu.com/p/85d563d326a9 这段时间在看量化策略,找到了一个比较不错的开源项目,但是yahoo金融的数据源一直没有找到,在网上找到了这 ...
- php中require_once与include_once的区别
首先include_once仅包含文件一次,如果没有文件,会发出警告,并继续执行. 而require_once也是仅包含文件一次,但是如果程序中没有找到文件,则程序会中止执行.
- Map排序(按key排序,按value排序)
主要分两种,按键排序.按值排序. 而且,按key排序主要用于TreeMap,而按value排序则对于Map的子类们都适用. 一.按键排序 按Key排序主要用于TreeMap,可以实现按照Key值的大小 ...
- C#.NET通过Socket实现平行主机之间网络通讯(含图片传输的Demo演示)
在程序设计中,涉及数据存储和数据交换的时候,不管是B/S还是C/S模式,都有这样一个概念:数据库服务器.这要求一台性能和配置都比较好的主机作为服务器,以满足数目众多的客户端进行频繁访问.但是对于一些数 ...