用python选择及显示三级目录,可返回上层目录以及随时跳出。
# -*- coding: utf-8 -*-
"""
Created on Fri Jul 29 09:43:38 2016
@author: yinggang
"""
'''制作一个三级目录,利用列表和字典满足以下功能:
1 选择主目录后弹出下级菜单继续选择
2 在任一菜单下 按b返回,按终止选择
'''
'''第一个比较长的代码,第一个博客。wish you sttruggle for your dreamming life!'''
# -*- coding: utf-8 -*-
"""
Created on Fri Jul 29 09:43:38 2016 @author: yinggang
"""
'''制作一个三级目录,利用列表和字典满足以下功能:
1 选择主目录后弹出下级菜单继续选择
2 在任一菜单下 按b返回,按终止选择
'''
#一级菜单,省份
province = ['陕西省','甘肃省','湖南省'] #各个省份的城市,二级菜单目录
shanxi_province = ['西安市','咸阳市','宝鸡市','榆林市']
gansu_province = ['兰州市','武威市','酒泉市']
hunan_province = ['长沙市','郴州市']
#关联省-市
city = {'陕西省':shanxi_province,'甘肃省':gansu_province,'湖南省':hunan_province} #各个城市的分区,依次为西安 咸阳 宝鸡 榆林 兰州 武威 酒泉 长沙 郴州
area_xi_an = ['未央区','莲湖区']
area_xian_yang = ['实验中学','武功县']
area_bao_ji = ['宝鸡中学']
area_yu_lin = ['市区','米脂县','榆林镇']
area_lan_zhou = ['贴','胡']
area_wu_wei = ['小雨','xiaoyu']
area_jiu_quan = ['酒泉市','玉门市']
area_chang_sha = ['岳麓区','金沙']
area_chen_zhou = ['1区','2区'] #将市-区关联起来
area = {'西安市':area_xi_an,'咸阳市':area_xian_yang,'宝鸡市':area_bao_ji,'榆林市':area_yu_lin,'兰州市':area_lan_zhou,'武威市':area_wu_wei,'酒泉市':area_jiu_quan,'长沙市':area_chang_sha,'郴州市':area_chen_zhou} #定义一个循环函数,方便跳出 #定义一个break——flag变量,来直接跳出多层循环
def loop():
print('你已经退出')
break_flag = False
while True:
if break_flag:
break
print(province)
province_choice = input('输入123,选择相应省份.q直接退出该应用,b返回上级目录\n')
if province_choice == 'q' or province_choice == 'b':
loop()
break
while True:
#显示二级菜单,并让用户选择
city_xianshi = city[province[int(province_choice)-1]]
if break_flag:
break
print(city_xianshi)
city_choice = input('输入1234,对应相应城市,q直接退出该应用,b返回上级目录\n')
if city_choice == 'b':
break
if city_choice == 'q':
loop()
break_flag = True
break
area_xianshi = area[city_xianshi[int(city_choice)-1]]
print(area_xianshi)
while True:
#选择区
area_choice = input('输入1234,对应相应区或县,q直接退出该应用,b返回上级目录\n')
if area_choice == 'b':
break
elif area_choice == 'q':
break_flag = True
loop()
break
else:
print('your home is %s %s %s'%(province[int(province_choice)-1],city_xianshi[int(city_choice)-1],area_xianshi[int(area_choice)-1]))
break_flag = True
loop()
break
用python选择及显示三级目录,可返回上层目录以及随时跳出。的更多相关文章
- Python进阶实战之三级菜单
目录 一.Python进阶实战之三级菜单 1.1 面条版 1.2 文艺青年版 一.Python进阶实战之三级菜单 打印省.市.县三级菜单 可返回上一级 可随时退出程序 1.1 面条版 menu = { ...
- PHP遍历目录返回统计目录大小实例
分享一个 PHP遍历目录并返回统计目录大小的方法.代码: <?php $dirname = "test1"; //mkdir($dirname); //遍历一层目录 func ...
- Ubuntu下安装Python3.6并在终端输入Python就能显示Python3.6
Ubuntu17.04自带Python2.7与Python3.5.3的版本,由于Python2与Python3有着一些差距可能需要安装更新Python3的版本,并且切换默认的Python解释器. ...
- Apache显示目录列表及icons目录的问题
今天想部署下开源项目pig,发现它的mysql需要5.7.8 +,为了能支持多个版本并且可以方便切换,所以选择了phpstudy_pro 刚开始Apache不支持目录访问 修改配置 <Virtu ...
- python实现随机复制若干个文件到新目录
python实现随机复制若干个文件到新目录 1说明 1.1 目的 随机选择一个文件下的若干个文件,并将文件复制到新文件夹下 1.2 要求 需要将random_select_and_copy_file. ...
- python matplotlib 中文显示参数设置
python matplotlib 中文显示参数设置 方法一:每次编写代码时进行参数设置 #coding:utf-8import matplotlib.pyplot as pltplt.rcParam ...
- [Python笔记][第三章Python选择与循环]
1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...
- Android 基础一 TextView,Style样式,Activity 传值,选择CheckBox 显示密码
1.修改TextView字体 mTextView = (TextView) findViewById(R.id.textview1); mTextView.setText("I am her ...
- python matplotlib 中文显示乱码设置
python matplotlib 中文显示乱码设置 原因:是matplotlib库中没有中文字体.1 解决方案:1.进入C:\Anaconda64\Lib\site-packages\matplot ...
随机推荐
- reloadData should be in main thread
reloadData should be called in main thread, so if you call it in work thread, you should call it as ...
- 高性能、高流量Java Web站点打造的22条建议
@http://www.csdn.net/article/2013-12-20/2817861-22-recommendations-for-building-effective-high-traff ...
- sdut-2725-The Urge to Merge-状压DP
把数组竖起来,从上往下走. 如果当前位置是竖着乘的,那么第一个点标记为1.否则标记为0. 样例最终的状态为: 0 0 1 0 1 0 1 0 0 0 0 0 #include<iostream& ...
- 20169210《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...
- java中的闭包和回调
闭包(Closure)是一种能被调用的对象,它保存了创建它的作用域的信息.JAVA并不能显式地支持闭包,但是在JAVA中,闭包可以通过“接口+内部类”来实现,因为对于非静态内部类而言,它不仅记录了其外 ...
- POCISO-採购创建内部订单(R12.2.3)
採购创建内部订单(R12.2.3) --US Program:Create Internal Orders Short Name:POCISO Application:Purchasing Ex ...
- 构造Scala开发环境并创建ApiDemos演示样例项目
从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...
- C++链表与键值对
<算法>一书中,在算法3.1中提到了Map的实现,这里根据书上的思想,用单向链表简单写了写. #ifndef SEQUENTIAL_H #define SEQUENTIAL_H templ ...
- 用CSS+Jquery实现一个漂浮的窗体
一.项目需求: 实现一个用于网站主页面 从窗体左上角开始飘到右下角 之后又飘到右上角 十秒之后消失的效果. 二.需求分析: 首先 应当想要漂浮的内容放在一个容器内,也就是一个DIV,设计它的样式,不管 ...
- JAAS - Document
JAAS 参考文档: JAAS Reference Guide JAAS Authentication Tutorial JAAS Authorization Tutorial LoginModule ...