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 相关文章推荐
windows系统中python使用rar命令压缩多个文件夹示例
May 06 Python
Python开发的单词频率统计工具wordsworth使用方法
Jun 25 Python
python实现从字典中删除元素的方法
May 04 Python
python实现获取Ip归属地等信息
Aug 27 Python
Python 中字符串拼接的多种方法
Jul 30 Python
使用Django连接Mysql数据库步骤
Jan 15 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
Python 使用threading+Queue实现线程池示例
Dec 21 Python
Tensorflow分批量读取数据教程
Feb 07 Python
Python range与enumerate函数区别解析
Feb 28 Python
Python selenium如何打包静态网页并下载
Aug 12 Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 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学习之正则表达式
2011/04/17 PHP
PHP5函数小全(分享)
2013/06/06 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
浅谈Python单向链表的实现
2015/12/24 Python
Python实现购物车程序
2018/04/16 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
家居设计专业个人自荐信范文
2013/11/26 职场文书
入职担保书范文
2014/05/21 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
新闻报道稿范文
2015/07/23 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
Django实现聊天机器人
2021/05/31 Python
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python