优化了上一个三级菜单选择城:http://www.cnblogs.com/klvchen/p/8646466.html

info = {
'GuangDong':{
'GuangZhou': ['TianHe', 'HaiZhu'],
'MaoMing': ['MaoNan', 'DianBai']},
'ShanDong': {
'JiNan': ['ShiZhong', 'LiXia'],
'QingDao': ['ShiNan', 'ShiBei']
},
'GuangXi': {
'NanNin': ['WuNing', 'LongAn'],
'GuiLing': ['YangSuo', 'QuanZhou']
}
} parent_list = []
current_layer = info while True:
for key in current_layer:
print(key)
choiced = input("Please select: [ b: back | q: exit]")
if choiced in current_layer:
parent_list.append(current_layer)
try:
current_layer = current_layer[choiced]
except:
print("This is last level")
current_layer = parent_list.pop()
continue
elif choiced == "b":
if parent_list:
current_layer = parent_list.pop()
elif choiced == "q":
break
else:
print("Please input right optional.")
continue

运行结果:

Python 练习:三级菜单选择城市(二)的更多相关文章

  1. Python 练习:三级菜单选择城市

    info = { 'GuangDong':{ 'GuangZhou': ['TianHe', 'HaiZhu'], 'MaoMing': ['MaoNan', 'DianBai']}, 'ShanDo ...

  2. python——实现三级菜单选择的功能(原创)

    #coding:utf-8 dict={'beijing':{'haidingqu':['qinghe','keji'],'chaoyangqu':['q','w']},'shandong':{'li ...

  3. python打怪之路【第三篇】:利用Python实现三级菜单

    程序: 利用Python实现三级菜单 要求: 打印省.市.县三级菜单 可返回上一级 可随时退出程序 coding: menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{}, ' ...

  4. python之三级菜单

    python之三级菜单 要求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功 ...

  5. python 实现三级菜单

    要求: 可选择进入各级子菜单 在各级菜单下可以选择退出 在子菜单下可以返回上一级菜单 Readme: 运行程序,输入菜单选项,进入对应的子菜单 # Joe Young data = { '山东':{ ...

  6. python作业三级菜单day1(第一周)

    一.作业需求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 二三级菜单文 ...

  7. Python学习-------------------三级菜单简单版

    题目: 多级菜单         1.三级菜单         2.可依次选择进入的各子菜单         3.所需新知识点:列表.字典 ReadMe: 这个做循环,比较绕脑子 点开运行即可 Min ...

  8. python实现三级菜单源代码

    8月4号早晨天气晴,继续学习‘Alex’的python视频,写了用字典实现三级菜单的代码,都是循环和判断比较lower,废话不多说直接贴码: #!/user/bin/env python #-*-co ...

  9. python 打印三级菜单

    要求: 1.用户选择城市菜单编号显示对应的下级菜单 2.可以返回上级菜单,只有在用户确定正常退出时才退出 #!/usr/bin/env python3 # -*- coding: utf-8 -*- ...

随机推荐

  1. PHP中字符串与html相互转化函数

    在一般通信过程中,可能会遇到文档文本编码中所不包括很多字符,或者无法在键盘上输入的字符.例如,版权符号(©).分币符号(¢)和语法重音符号等就属于这种字符.为了克服这些缺点,专门设计了一组统一的按键编 ...

  2. VMware Tools安装教程

    安装依赖: sudo yum install eject 步骤: 确保 Linux 虚拟机已打开电源. 如果正在运行 GUI 界面,请打开命令 shell. 注意:以 root 用户身份登录,或使用 ...

  3. Spring Boot定制启动图案

    启动图案 Spring Boot在启动的时候会显示一个默认的Spring的图案,对应的类为SpringBootBanner. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_) ...

  4. LeetCode--No.005 Longest Palindromic Substring

    5. Longest Palindromic Substring Total Accepted: 120226 Total Submissions: 509522 Difficulty: Medium ...

  5. SeaweedFS上手使用指南

    SeaweedFS是基于go语言开发的高可用文件存储系统,主要特性 1.成存储上亿的文件(最终受制于你的硬盘大小)2.速度快,内存占用小 上手使用比fastDFS要简单很多,自带Rest API. S ...

  6. web自动化测试---测试中其他一些常用操作

    一些其他常用操作如下: 1.最大化浏览器窗口 driver.maximize_window() 2.后退 driver.back() 3.前进 driver.forward() 4.刷新操作 driv ...

  7. oracle无法启动asm实例记录

    首先查看asm进程ps aux|grep asmasm进程没起进行下面操作su - gridsrvctl start asmexit查看ora进程ps aux|grep oraora进程没起进行下面操 ...

  8. 《java并发编程实战》

    目录 对本书的赞誉 译者序 前 言 第1章 简介 1.1 并发简史 1.2 线程的优势 1.2.1 发挥多处理器的强大能力 1.2.2 建模的简单性 1.2.3 异步事件的简化处理 1.2.4 响应更 ...

  9. Spring Boot + Spring Cloud 构建微服务系统(二):服务消费和负载(Ribbon)

    使用RestTemplate调用服务 在上一篇教程中,我们是这样调用服务的,先通过 LoadBalancerClient 选取出对应的服务,然后使用 RestTemplate 进行远程调用. Load ...

  10. Linux常用命令-vim

    vim的基本模式 1普通模式Normal mode 输入vim命令后进入的就是普通模式. 2插入模式Insert mode 这是内容修改编辑的模式, 在普通模式进入插入模式方法 按i或insert 在 ...