@TOC——递归函数

功能说明

1、三级菜单
2、可依次选择进入各子菜单,选择相应标签进入目录
3、输入b返回上级目录,q退出目录查询

程序如下:

menu={'中国':{'河北':{'石家庄':{},'邢台':{},'衡水':{}},'北京':{'昌平':{},'海淀':{},'朝阳':{}},'山西':{'太原':{},'大同':{},'运程':{}}},'美国':{'纽约州':{'纽约市':{},'罗彻斯特':{},'水牛城':{}},'加利福利亚州':{'洛杉矶':{},'好莱坞':{},'阿罕布拉':{}},'宾夕法尼亚州':{'费城':{},'伯利恒':{},'华盛顿':{}}},'澳大利亚':{'维多利亚州':{'墨尔本':{},'吉朗':{},'巴里迪':{}},'西澳大利亚州':{'马扎尔':{},'柏斯':{},'费里曼图':{}},'南澳大利亚州':{'阿德莱德':{},'内陆':{},'巴罗莎':{}}}}
#当前目录和下一级目录的就是字典中键和值的关系
'''按b键返回查询,按q键结束查询'''
def three_search(dic):global flagflag = 1while True:if flag==1:for k in dic:print(k)key=input('>>>').strip()#去除开头或结尾的空字符if key=='b'or key=='q': #输入b返回查询,输入q彻底结束查询flag=1return keyelif key in dic.keys()  :flag=1if dic.get(key, 0) == {}:print('null')flag = 0ret=three_search(dic[key])#精髓:通过递归取出键的值,即进入下一级目录if ret=='q':return 'q'three_search(menu)

效果如下:

1、进入各级菜单

2、返回上一级菜单

**
3、直接退出目录查询

希望可以帮助到大家,感谢大家的支持!

Python编写三级目录(升级版)相关推荐

  1. python 历遍,Python 历遍目录

    使用 os 模块的 walk() 函数可以实现历遍目录的操作,该函数接收一个绝对路径字符串作为必选参数,返回三个参数: 当前目录--指程序当前工作目录--名称(字符串格式) 当前目录--指程序当前所历 ...

  2. python三级_Python三级目录展示方法

    要求: 1.三级菜单 2.可依次选择进入各子菜单,选择序号进入目录 3.输入b返回上级目录,q退出更改目录 代码实现: #!/bin/env python #!--*--coding:utf-8 -- ...

  3. python编写电子菜单_python 写三级菜单

    python 写三级菜单 # -*- coding: utf-8 -*- __author__ = 'am_mm_NO.1' import re memu = { "东北":{ & ...

  4. Python 编写 Windows 服务,实时发送动态IP至手机

    最近TeamViewer不能正常使用(检测到商业用途,无法启动新的会话:又想骗我去用商业付费版),家里宽带的公网IP是动态分配的,远程很不方便.为摆脱被不能远程支配的恐惧,我使用python编写了一个 ...

  5. 1-2 用Python编写【房价预测】模型----paddle

    课程>我的课程>百度架构师手把手教深度学习>1-2 用Python编写[房价预测]模型> 1-2 用Python编写[房价预测]模型 paddle初级教程第一章 第二节 王然( ...

  6. Python 文件与目录操作方法总结

    Python 有很多内置的模块和函数可用于文件的操作处理,这些函数都分布在几个模块上:如 os , os.path , shutil 和 pathlib 等等.本文收集了许多您需要知道的函数,以便在 ...

  7. python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value)

    python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value) 目 ...

  8. 用python写脚本筛选原创微博_基于python编写的微博应用

    本文实例讲述了基于python编写的微博应用,分享给大家供大家参考.具体如下: 在编写自己的微博应用之前,先要到weibo开放平台申请应用的公钥和私钥. 下载python版的SDK,打开example ...

  9. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  10. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

最新文章

  1. 初级版python登录验证,上传下载文件加MD5文件校验
  2. Android导入工程提示Invalid project description
  3. linux 打开文件表 文件描述符,文件描述符-mjsc1023-ChinaUnix博客
  4. Windows系统查看端口占用
  5. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1068:与指定数字相同的数的个数
  6. [转]HTTP协议及其请求头分析
  7. 详述一次大量删除导致MySQL慢查的过程
  8. 20190910:(leetcode习题)FizzBuzz
  9. 当系统出错,win10真难用
  10. SPSS 项目分析(图文+数据集)【SPSS 032期】
  11. 双显卡笔记本安装Ubuntu系统
  12. 主力吸筹的两种模式以及躺赢股市的三种票
  13. 笔记———计算机网络原理(二)
  14. android egl 代码,Android配置EGL环境
  15. 运营之光2我的互联网运营方法论与自白
  16. 鸿蒙系统可以微信吗,微信鸿蒙版下载-微信华为鸿蒙操作系统版 v7.0.21-91优手机网...
  17. 关于ZETag云标签你了解多少?
  18. 【计算机网络】知识点整理 第六章 应用层(王道考研视频学习记录)
  19. abaqus对实体单元进行复合材料每层厚度定义
  20. could not locate named parameter [***]; nested exception is org.hibernate.QueryParameterException: c

热门文章

  1. sipp uas 脚本
  2. Jmeter性能测试脚本搭建与测试步骤流程
  3. 数学建模之matlab软件学习04——专题四MATLAB绘图
  4. 抖音上热门规则 视频md5码查看器
  5. PCB板设计流程有哪些?
  6. 低通滤波器计算截止评率_了解奈奎斯特图中的截止频率
  7. Java 机器学习库Smile实战(一)SVM
  8. matlab 读取tiff文件
  9. php+icu+库是什么意思,如何从PHP Intl(ICU库)获取默认货币
  10. 计算流体力学编程作业matlab,中科大计算流体力学CFD之大作业二.doc