d_city = {
"河南" : {"郑州" : ["二七区","中原区","回族管城区","惠济区","金水区","上街区"],
"信阳" : ["浉河区","平桥区","羊山新区","南湾区","上天梯区","鸡公山区"]},
"广东":{"广州":["越秀","海珠","荔湾","天河","白云","黄埔","南沙"],
"深圳":["罗湖区","龙岗区","福田区","南山区","盐田区","宝安区","大鹏新区"]}

d_city = {
"河南" : {"郑州" : ["二七区","中原区","回族管城区","惠济区","金水区","上街区"],
"信阳" : ["浉河区","平桥区","羊山新区","南湾区","上天梯区","鸡公山区"]},
"广东":{"广州":["越秀","海珠","荔湾","天河","白云","黄埔","南沙"],
"深圳":["罗湖区","龙岗区","福田区","南山区","盐田区","宝安区","大鹏新区"]}
}
while True:#保证 break 到这一级可以循环下去
for index, key in enumerate(d_city.keys()):
print(index, key)
print('******************\n')
value_f = input("请选择区域(退出请按q,返回请按b):").strip() #first 选择,选择第一个区域
if value_f.isdigit():
value_f = int(value_f)#保证输入为数字
list_a = list(d_city.keys())[value_f]
while True:#选择正确的区域编号后,进入下一级循环
for index, key in enumerate(d_city[list_a]):#遍历序列中的元素以及它们的下标
print(index, key)#显示遍历结果
value_s = input("请选择地区(退出请按q,返回请按b):").strip()
if value_s.isdigit():
value_s = int(value_s)
list_b = list(d_city[list_a].keys())[value_s]
while True:
for index, key in enumerate(d_city[list_a][list_b]):
print(key)
value_d = input("退出请按q,返回请按b:").strip()
if value_d == 'q':
exit()
elif value_d == 'b':
break
else:print("请输入指定值")
elif value_s == 'q':
exit()
elif value_s == 'b':
break
elif value_f == 'q':
exit()
elif value_f == 'b':
break
#最后几行保证每一级都可以返回上一级,以及结束循环

Day1 三级目录的更多相关文章

  1. 用python选择及显示三级目录,可返回上层目录以及随时跳出。

    # -*- coding: utf-8 -*-"""Created on Fri Jul 29 09:43:38 2016 @author: yinggang" ...

  2. python之三级目录

    #python之三级目录低配版 menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{ }, 'HP':{ }, '渣打银行':{ }, 'CCTV':{ }, }, '望京': ...

  3. python编辑三级目录

    一.需求分析 三级目录要能够实现以下要求: 显示根目录,任何子目录中都可以通过输入b字符来返回根目录 任何子目录中都可以通过输入q字符来返回上一级目录 主目录进入子目录后,系统能够打印子目录,根据指打 ...

  4. Python_三级目录

    程序要求: 1. 使用字典存储 1. 可以一层一层的进入到所有层2. 可以在每层返回上一层3. 可以在任意层退出 三级目录写了两个版本,第一个版本是刚看完字典写出来的,代码很多冗余,很多重复. men ...

  5. java查询三级树(三级目录)

    背景: 三级树实现效果 这里只介绍,查询数据库,构建三级目录的后端业务逻辑 1.创建查询类(对应数据库需要查出的字段) @Data @AllArgsConstructor @NoArgsConstru ...

  6. Python_实现三级目录展示

    要求: 1.三级菜单 2.可依次选择进入各子菜单,选择序号进入目录 3.输入b返回上级目录,q退出更改目录 代码实现: #!/bin/env python #!--*--coding:utf-8 -- ...

  7. 更新上篇文章 调用三级目录文章内容 dede频道页实现三级栏目嵌套调用文章

    原文:http://www.wuaie.com/?p=66 源码改写 $typeid = $row['id']; if((class_exists('PartView'))) { $pv = new ...

  8. 【Java EE 学习 22 上】【文件上传】【目录打散】【文件重命名】

    1.文件上传概述 (1)使用<input type="file">的方式来声明一个文件域. (2)表单提交方式一定要是post方式才行 (3)表单属性enctype 默 ...

  9. Tomcat目录映射设置

    方法一: \conf\server.xml <Host>内插入<Context path="虚拟目录" docBase="文件目录" /> ...

随机推荐

  1. .Net Framework 4.0 内部排序探索

    简介 一时好奇心起,想一窥.Net Framework 4.0内部究竟是使用何种算法排序.以前听人说Framework内部是使用的快速排序,但究竟耳听为虚,眼见为实.主要通过JetBrains dot ...

  2. HTTP请求与响应方式

    HTTP请求格式 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成: l   请求方法URI协议/版本 l   请求头(Request Hea ...

  3. IO流的练习3 —— 复制多级文件夹下的指定文件并改名

    需求:复制指定目录下的指定文件,并修改后缀名. 指定的文件是:.java文件. 指定的后缀名是:.jad 数据源所在文件夹:C:\Users\Administrator\Desktop\记录 目的地所 ...

  4. 使用clone( )和Cloneable接口

    由Object类定义的绝大部分方法在本书其他部分讨论.而一个特别值得关注的方法是clone( ).clone( )方法创建调用它的对象的一个复制副本.只有那些实现Cloneable接口的类能被复制. ...

  5. 十一、常用的NSArray和NSMutableArray方法

    1.概念 用来存储OBJ对象的有序列表,它是不可变的 2.创建常用方法 + (id)array + (id)arrayWithObect:(id)anObject + (id)arrayWithObe ...

  6. C# Thread.Join()用法的理解 转

    指在一线程里面调用另一线程join方法时,表示将本线程阻塞直至另一线程终止时再执行 比如 1using System; 2 3namespace TestThreadJoin 4{ 5 class P ...

  7. 05JavaIO详解_仿照IO源码自己去实现一个IO流(为了加深印象,本身没有价值)

    版本会越来越难: 版本1:只写一个read方法 package com.guigu.shen.InputStream; import java.io.IOException; import java. ...

  8. MAC中设置android adb环境变量

    1.找到android sdk的本地路径, adb命令在platform-tool下面,记为XXXX 我的路径是(/Applications/eclipse/android-sdk-mac_x86/p ...

  9. HTML5新特性及详解

    什么是HTML5:HTML5 是下一代的HTML,将成为 HTML.XHTML 以及 HTML DOM 的新标准. 为 HTML5 建立的一些规则: 新特性应该基于 HTML.CSS.DOM 以及 J ...

  10. Linux 进程与线程二(等待--分离--取消线程)

    int pthread_join(pthread_t thr,void **thr_return); pthread_join函数用于挂起当前线程,直至th指定的线程终止为止. 如果另一个线程返回值不 ...