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实现的金山快盘的签到程序
Jan 17 Python
Python中的startswith和endswith函数使用实例
Aug 25 Python
在Python中处理时间之clock()方法的使用
May 22 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
Mar 20 Python
python docx 中文字体设置的操作方法
May 08 Python
python中单下划线_的常见用法总结
Jul 10 Python
使用selenium模拟登录解决滑块验证问题的实现
May 10 Python
Python 离线工作环境搭建的方法步骤
Jul 29 Python
浅谈django2.0 ForeignKey参数的变化
Aug 06 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
Python 多线程处理任务实例
Nov 07 Python
Python创建SQL数据库流程逐步讲解
Sep 23 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使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
JavaScript简单表格编辑功能实现方法
2015/04/16 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
JS实现吸顶特效
2020/01/08 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
Django框架 Pagination分页实现代码实例
2019/09/04 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
详解Python中的路径问题
2020/09/02 Python
利用python爬取有道词典的方法
2020/12/08 Python
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
"序列点" 是什么
2016/07/29 面试题
Ajax的优点和缺点
2014/11/21 面试题
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
数控专业个人求职信范例
2013/11/29 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
党员群众路线承诺书
2014/05/20 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
Python中npy和mat文件的保存与读取
2022/04/24 Python
python数字图像处理之图像的批量处理
2022/06/28 Python