用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 ...
随机推荐
- linux下swftools 的配置
1.安装所需的库和组件.机器之前安装过了,主要安装的是下面几个组件.如果不安装会提示machine `x86_64-unknown-linux' not recognized yum install ...
- TOYS - POJ 2318(计算几何,叉积判断)
题目大意:给你一个矩形的左上角和右下角的坐标,然后这个矩形有 N 个隔板分割成 N+1 个区域,下面有 M 组坐标,求出来每个区域包含的坐标数. 分析:做的第一道计算几何题目....使用叉积判断方 ...
- ADO.NET对象模型
ADO.NET建立在NetFramwork一些核心类的基础之上,可以将这些类分为两组:用于包含于管理数据的容器类与用于连接特定数据源的控制类. 容器类是通用的,无论使用什么样的数据源,都可以使用相同的 ...
- highcharts动态获取数据生成图表问题
动态获取数据说白点就是从后台传值到前台,前台把这些值赋值给x轴与y轴(这里指的是你X轴与Y轴都是变化的数据,如果你的X轴是固定的,像时间等等的那就另说). 柱状图的动态传值: //获取后台数据 va ...
- ng-if与ng-show、ng-hide指令的区别和注意事项
http://blog.csdn.net/aitangyong/article/details/44701769
- IOS开发中 RunLoop,RunTime
1.Objective-C中的函数调用 对于C语言,函数调用是由编译器直接转化完成的,在编译时程序就开始查找要执行的函数(C语言函数调用原理).而在OC中,我们将函数调用称为消息发送.在编译时程序不查 ...
- myeclipse 解决没有自动提示
有时候myeclipse误操作会丢失自动提示功能,使用.也不出现代码提示,进入window->preferences->java->Editor->Content Assist ...
- android 04 AbsoluteLayout
绝对布局:layout_x,layout_y:坐标精准定位 xml文件:不推荐使用 <AbsoluteLayout xmlns:android="http://schemas.andr ...
- linux ----Inode的结构图
http://www.ruanyifeng.com/blog/2011/12/inode.html 先看看Inode的结构图 再来了解一下文件系统如何存取文件的 1.根据文件名 ...
- iOS--inputView和inputAccessoryView
iOS–inputView和inputAccessoryView 什么是inputView和inputAccessoryView? 如果是UITextField和UITextView,下面是声明文件源 ...