python编辑三级目录
一.需求分析
三级目录要能够实现以下要求:
- 显示根目录,任何子目录中都可以通过输入b字符来返回根目录
- 任何子目录中都可以通过输入q字符来返回上一级目录
- 主目录进入子目录后,系统能够打印子目录,根据指打印信息进入下级目录或者返回
二.代码实现
# 定义字典包括,国家,州(省),市
dic = {'中国': {'河北': ('石家庄', '邢台', '衡水',), '北京': ('昌平', '海淀', '朝阳',), '山西': ('太原', '大同', '运城',)},
'美国': {'纽约州': ('纽约市', '罗彻斯特', '水牛城',), '加利福利亚州': ('洛杉矶', '好莱坞', '阿罕布拉',), '宾夕法尼亚州': ('费城', '伯利恒', '华盛顿',)},
'澳大利亚': {'维多利亚州': ('墨尔本', '吉朗', '巴里迪',), '西澳大利亚州': ('马扎尔', '柏斯', '费里曼图',), '南澳大利亚州': ('阿德莱德', '内陆', '巴罗莎'), }}
# print(dic['中国']['河北'])
dic_dir = {1: "中国",
2: "美国",
3: "澳大利亚",
} # 定义国家跟序号的对应关系
dic_dirCity = {1: ("河北", "北京", "山西"),
2: ("纽约州", "加利福利亚州", "宾夕法尼亚州",),
3: ("维多利亚州", "西澳大利亚州","南澳大利亚州",)
}# 省(州)对应关系 def Directory():#定义三级目录函数 DirectoryPos = 0#记录当前目录位置
while True:
if DirectoryPos == 0:
for temp in dic_dir:
print(temp,":",dic_dir[temp])#打印根目录
getCountry= int(input("Please Chonse The Country:"))#输入字符转换成int类型变量
while getCountry<1 or getCountry>3:#合法性判断
getCountry = int(input("Input Error Please Reinput:"))
DirectoryPos +=1
if DirectoryPos == 1:
num = 0
for temp in dic_dirCity[getCountry]:
num += 1
print(num,":",temp)#打印子目录
getProvince = input("Please Chonse The Province\nInupt q Is Return\nInput b Back To Main:")
if getProvince == 'q' or getProvince == 'b':#条件判断,进入下级目录或者返回
DirectoryPos -= 1
else:
DirectoryPos += 1
getProvince = int(getProvince)
if DirectoryPos == 2:
for temp in dic[dic_dir[getCountry]] [dic_dirCity[getCountry][getProvince-1]]:#打印子目录
print(temp)
getNum = input("Input q Is Return\nInput b Is Back To Main:")
if getNum == 'q':#条件判断
DirectoryPos -= 1
if getNum == 'b':
DirectoryPos =0
# print("The Game Is Over !") Directory()
程序运行结果图如下:
此程序没有特别运行条件,只要复制黏贴到PyCharm3.0以上的版本下即可使用,不支持PyCharm3.0以下的版本,此程序在输入条件的合法性判断上有bug由于时间原因暂不处理,后期如有时间会及时更新,有兴趣的朋友也可以自己改一下试试。
python编辑三级目录的更多相关文章
- python之三级目录
#python之三级目录低配版 menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{ }, 'HP':{ }, '渣打银行':{ }, 'CCTV':{ }, }, '望京': ...
- 用python选择及显示三级目录,可返回上层目录以及随时跳出。
# -*- coding: utf-8 -*-"""Created on Fri Jul 29 09:43:38 2016 @author: yinggang" ...
- python学习笔记目录
人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...
- 老猿Python博文汇总目录--按标题排序
☞ ░ 前往老猿Python博文目录 ░ 本部分为老猿CSDN全部博文的汇总(含转载部分),所有文章在此未进行归类,仅按文章标题排序,方便关键字查找.本部分内容将至少以周为单位定期更新,可能不包含发布 ...
- python打怪之路【第三篇】:利用Python实现三级菜单
程序: 利用Python实现三级菜单 要求: 打印省.市.县三级菜单 可返回上一级 可随时退出程序 coding: menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{}, ' ...
- NSIS:禁止选择安装路径和编辑安装目录
原文 NSIS:禁止选择安装路径和编辑安装目录 如果你想在安装包中禁止用户选择安装路径和编辑安装目录,有两种方式. 第一种:注释或删除安装目录选择页面 1 ;!insertmacro MUI_PA ...
- python遍历一个目录,输出所有文件名
python遍历一个目录,输出所有文件名 python os模块 os import os def GetFileList(dir, fileList): newDir = dir if os. ...
- python之工作目录和文件引用
1.参考 如何获得Python脚本所在目录的位置 Python 相对导入与绝对导入 还没细看 2.不考虑exe打包 sys.path[0] #顶层运行脚本的绝对目录 os.path.split(os. ...
- Python数据分析学习目录
python数据分析学习目录 Anaconda的安装和更新 矩阵NumPy pandas数据表 matplotlib-2D绘图库学习目录
随机推荐
- oracle11g之Oracle体系结构(理论基础知识)
第二章 oracle的体系结构 一.oracle体系结构概述1.实例和数据库组成完整的Oracle数据库系统数据库:一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)实例:一组oracl ...
- Linux内存管理-高端内存(一)
高端内存是指物理地址大于 896M 的内存.对于这样的内存,无法在“内核直接映射空间”进行映射. 为什么? 因为“内核直接映射空间”最多只能从 3G 到 4G,只能直接映射 1G 物理内存,对于大于 ...
- LeetCode36.有效的数独 JavaScript
判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实线分隔的 ...
- Oracle 统计信息
Oracle数据库中的统计信息是这样一组数据:它存储在数据字典中,且从多个维度描述了Oracle数据库里对象的详细信息. CBO会利用这些统计信息来计算目标SQL各种可能的,不同的执行路径的成本,从中 ...
- eclipse安装activiti插件
参考: https://blog.csdn.net/augustaurora/article/details/59618737 https://blog.csdn.net/qq_33547950/ar ...
- 转:SQLServer中的GROUPING,ROLLUP和CUBE
转自:https://www.cnblogs.com/nikyxxx/archive/2012/11/27/2791001.html 聚集函数:GROUPING 用于汇总数据用的运算符: ROLLUP ...
- MySQL学习【第十三篇日志管理】
一.MySQL日志类型 日志文件 选项 文件名/表名称 程序 错误日志 --log-error host_name.err N/A 常规日志 --general_log host_name. ...
- debian系统,启动Wireshark,出现Couldn't run /usr/bin/dumpcap in child process:权限不够
这是由于当前用户没有权限运行/usr/bin/dumpcap造成的./usr/bin/dumpcap是Wireshark的包捕获引擎. 先用ls命令看一下dumpcap的权限情况:xy@debian- ...
- Redis 之持久化
目录 一.前言 二.持久化类型之 RDB 三.持节化类型之AOF 四.Redis 持久化类型的抉择 五.持久化的恢复 六.持久化问题的分析定位与优化 七.回顾总结 一.前言 首先,来回顾下前面文章的知 ...
- 【ElasticSearch故障处理】OpenJDK 64-Bit Server VM warning
[故障描述] VM虚拟机安装ElasticSearch集群,有三台Linux,完成安装后,执行启动命令:bin/elasticsearch -d . 运行结果报错: OpenJDK 64-Bit Se ...