Python三级目录展示的实现方法


Posted in Python onSeptember 28, 2016

要求:

1、三级菜单

2、可依次选择进入各子菜单,选择序号进入目录

3、输入b返回上级目录,q退出更改目录

代码实现:

#!/bin/env python
#!--*--coding:utf-8 --*--
# ----*auth:freem*
import sys
#flag=True
#def flas():
#flag=False;
#定义字典包括,国家,州(省),市
dic={'中国':{'河北':('石家庄','邢台','衡水',),'北京':('昌平','海淀','朝阳',),'山西':('太原','大同','运程',)},'美国':{'纽约州':('纽约市','罗彻斯特','水牛城',),'加利福利亚州':('洛杉矶','好莱坞','阿罕布拉',),'宾夕法尼亚州':('费城','伯利恒','华盛顿',)},'澳大利亚':{'维多利亚州':('墨尔本','吉朗','巴里迪',),'西澳大利亚州':('马扎尔','柏斯','费里曼图',),'南澳大利亚州':('阿德莱德','内陆','巴罗莎'),}}
#print(dic['中国']['河北'])
dic_dir={1:"中国",2:"美国",3:"澳大利亚",} #定义国家跟序号的对应关系
dic_dirtt={1:("河北","北京","山西"),2:("纽约州","加利福利亚州","宾夕法尼亚州",),3:("维多利亚州","西澳大利亚州","南澳大利亚州",)} #省(州)对应关系
#dic_dir01={1:"中国",2:"美国",3:"澳大利亚",}
#dic_dir02={1:"中国",2:"美国",3:"澳大利亚",}
'''for i in range(1,dic.__len__()+1):
print(i,":",dic.pop())'''
#print(dic["中国"]["河北"][1])
#print(["河北"][1])
def loop():
while True:
for i in range(1,dic.__len__()+1): #遍历字典长度,生成序号
print(i,':',dic_dir[i])
dir01=input("please input num or q[quit]:",)#选择对应序号输入以及输入返回上级目录标识
if dir01 in ['1','2','3']:#确认输入序号是否在['1','2','3']中
for j in range(1,dic.__len__()+1):
if int(dir01)==j:
print(">>",j,':',dic_dir[j],"\n") #打印所序号所对应的国家
for i in range(1, dic[dic_dir[j]].__len__() + 1):
print(">>>>",i, ':',dic_dirtt[j][i-1]) #遍历输出所选序号国家对应的省/州
dir02 = input("please input num or b[back] or q[quit]:", )#输入上级所需国家对应的省的序号
if dir02 in ['1', '2', '3']:
for k in range(1, dic[dic_dir[j]].__len__() + 1):#遍历省所对应字典所对应的长度,生成序号
if int(dir02) == k:
print("*******",k,":",dic_dirtt[j][k-1],"\n")
for h in range(1, dic[dic_dir[j]][dic_dirtt[j][k-1]].__len__() + 1):
print("*******^_^>>>>",h, ':',dic[dic_dir[j]][dic_dirtt[j][k-1]][h-1])#打印最终选择的省所对应的城市
print("------------------------------------------------")
# print(k, ':',dic_dirtt[j][k])
elif dir02=='b':
continue; #跳出上一级循环
elif dir02=='q':
return #跳出整个循环
#return False;
else:
print("please insert correct str,strat with higher dir!")
#print(i, ':', dic[dic_dir[j]])
# print(dic[dic_dir[j]])
elif dir01=='q':
break; #退出
else:
print("please insert correct str!")
if __name__=="__main__":
loop()

实现效果:

1)正常输入,分别输入序号1,展示“中国”的下级目录,接着输入1,展示“河北”的下级目录,如下图所示:

Python三级目录展示的实现方法

2)、直接输入[q],退出程序,如下图所示:

Python三级目录展示的实现方法

3)、第一级目录正常输入,第二级目录输入[b],返回上级目录,如下图所示:

Python三级目录展示的实现方法

4)、第一级目录正常输入,第二级目录输入[q],直接退出整个程序,如下图所示:

Python三级目录展示的实现方法

注:本程序仅适用python3.0以上,如若python2.7,请自行修改;

以上所述是小编给大家介绍的Python三级目录展示的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python实现的各种排序算法代码
Mar 04 Python
Python通过解析网页实现看报程序的方法
Aug 04 Python
python实现简单温度转换的方法
Mar 13 Python
numpy数组拼接简单示例
Dec 15 Python
对python中的乘法dot和对应分量相乘multiply详解
Nov 14 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
python 8种必备的gui库
Aug 27 Python
Python调用SMTP服务自动发送Email的实现步骤
Feb 07 Python
k-means & DBSCAN 总结
Apr 27 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
Jun 09 Python
Python绘画好看的星空图
Mar 17 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 #Python
python 采集中文乱码问题的完美解决方法
Sep 27 #Python
20招让你的Python飞起来!
Sep 27 #Python
python搭建虚拟环境的步骤详解
Sep 27 #Python
利用python发送和接收邮件
Sep 27 #Python
实现python版本的按任意键继续/退出
Sep 26 #Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 #Python
You might like
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
PHP flush()与ob_flush()的区别详解
2013/06/03 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
悄悄用脚本检查你访问过哪些网站的代码
2010/12/04 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
JS作用域链详解
2017/06/26 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
js里面的变量范围分享
2020/07/18 Javascript
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
Python中协程用法代码详解
2018/02/10 Python
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
如何提高python 中for循环的效率
2020/04/15 Python
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
会计应聘求职信范文
2013/12/17 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
《十六年前的回忆》教学反思
2014/02/14 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
大学学生会辞职信
2015/05/13 职场文书
法院执行局工作总结
2015/08/11 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
Golang实现可重入锁的示例代码
2022/05/25 Golang