作业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多级菜单的更多相关文章

  1. s12-day01-work02 python多级菜单展示

    README # README.md # day001-work-2 @南非波波 功能实现:多级菜单展示 流程图: ![](http://i.imgur.com/VTPPhZU.jpg) 程序实现: ...

  2. python 多级菜单 纯循环与分支

    源代码: dic1 = {'湖南':{'衡阳':{'珠晖区':'湖南工学院'},'湘潭':{'晖晖':'啦啦'}}, '北京':{'朝阳': {"德玛:北京大学"}}}print( ...

  3. python作业设计:多级菜单,并可依次进入各级子菜单

    '''作业三:多级菜单 三级菜单 可依次选择进入各子菜单 所需新知识点:列表.字典 ''' data = { "北京":{ "昌平":{ "沙河&qu ...

  4. Python练习----多级菜单

    多级菜单要求:      1.三级菜单          2.可依次选择进入各子菜单      3.可以返回上一层      4.输入'q'可以退出   脚本: zone = { '北京' : { ' ...

  5. Python作业之多级菜单

    作业之多级菜单 菜单实现要求: 1. 列出菜单选择供选择 2. 选择对应内容进入下一级菜单 3. 任何时候都可以选择退出程序或返回上一级菜单 具体代码如下: goods = {'华为':{'A系':{ ...

  6. Python简单实现多级菜单

    # -*- coding: utf-8 -*- # @Time : 2018-06-01 13:40 # @Author : 超人 # @Email : huxiaojiu111@gmail.com ...

  7. Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)

    一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False: print("-第一层") wh ...

  8. 2_python之路之多级菜单

    python之路之多级菜单 1.使用知识点 (1)列表,字典的使用 (2)if条件判断语句 (3)for/while循环的使用 2.代码详细 #!/usr/bin/env python # _*_ c ...

  9. Day1作业---登录接口及多级菜单

    #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Ma Qing data = { "山东" :{ "济南&qu ...

随机推荐

  1. AndroidStudio怎样导入library项目开源库

    AndroidStudio是一款非常强大的android程序开发软件,在里面集成了几乎所有android开发中需要使用的工具,编译.运行.打包.开发.调试等功能一应俱全,可以使用起来非常方便. 今天要 ...

  2. idea配置echache.xml报错Cannot resolve file 'ehcache.xsd'

    解决方法: 打开settings->languages&frameworks->schemas and dtds ,添加地址 http://ehcache.org/ehcache. ...

  3. Uedit个人专注

    Uedit个人专注   Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\Shell\Uedit] [HKEY_CLASSES_ROO ...

  4. Linux中查看进程和杀掉进程

    ps -A查看正在运行的所有进程 kill -9 xxx杀掉某个进程,xxx为进程ID.

  5. Word 开发资料集合

    Word 对象模型概述  https://msdn.microsoft.com/zh-cn/library/kw65a0we.aspx DSOframer微软官方API的查阅方法  http://sh ...

  6. New Concept English Two 15 37

    listening speaking reading writing and translating $课文35  捉贼! 355. Roy Trenton used to drive a taxi. ...

  7. LNMP架构下的nginx、mysql、php的源码安装

    一.LNMP的介绍 LNMP就是Linux+Nginx+Mysql+Php这种网站服务架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统,常见版本有:centos.ubun ...

  8. 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

    本篇博客比较了常见的5种开源协议的异同,大家在为自己的代码选择协议的时候可以参考.现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http ...

  9. linux 模拟生成 CAN 设备

    /************************************************************************************** * linux 模拟生成 ...

  10. OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib

    近两个月来接触了Linux系统,在老板的建议下翻了Ubuntu的牌子,我安装的版本是16.04,用习惯之后感觉蛮好的,比Windows要强.好啦,废话不说啦,下面开始说在Ubuntu中安装OpemCV ...