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协程用法实例分析
Jun 04 Python
Python实现Mysql数据库连接池实例详解
Apr 11 Python
python 实现登录网页的操作方法
May 11 Python
python RabbitMQ 使用详细介绍(小结)
Nov 08 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
Appium+Python自动化测试之运行App程序示例
Jan 23 Python
使用pandas把某一列的字符值转换为数字的实例
Jan 29 Python
浅析python的Lambda表达式
Feb 27 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
python 三边测量定位的实现代码
Apr 22 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仿微信发红包领红包效果
2016/10/30 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
js实现图片粘贴到网页
2019/12/06 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
gearman的安装启动及python API使用实例
2014/07/08 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
Python基于当前时间批量创建文件
2020/05/07 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
Django如何实现防止XSS攻击
2020/10/13 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
人事助理岗位职责
2013/11/18 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
优秀英文求职信范文
2015/03/19 职场文书
高中政治教学反思
2016/02/23 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
Python进度条的使用
2021/05/17 Python
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS