@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. apache关于记录真实客户端ip和不记录健康检查日志
  2. Java基础——常用Map的实现细节
  3. 用Spring Security实现后台登录及权限认证功能
  4. python while-Python天坑系列(一):while 1比while True更快?
  5. Ubuntu apt-get 更新/查看软件
  6. win10系统卷影复制服务器,如何使用Windows卷影拷贝服务恢复文件和文件夹
  7. 前端学习(2968):实现路由跳转的两种方式
  8. 管理博文Hive大数据-Mysql的安装和启动---大数据之Hive工作笔记0007
  9. itext poi 学习之旅 (3)读取数据库信息并由excel展现出来
  10. 恋物志(二):独居者的智能生活指南
  11. pxe无盘服务器教程,[教程]Synology+PXE挂载iSCSI网络无盘启动Win7(08.04更新)
  12. 教师必备,4款超实用的微信小程序分享~
  13. 安防网络摄像机推送到RTMP流媒体服务器方案
  14. 云杰恒指:9.4恒指期货实盘指导交易复盘
  15. 微信服务号开发说明:测试号申请、自定义菜单添加第三方连接
  16. JS第二次授课及字节跳动2017秋招前端工程师笔试试卷涉及知识点
  17. linux打开80端口及80端口占用解决办法
  18. Unity 3d 脚本常用事件汇总
  19. Linux内核超级装备eBPF技术详细研究
  20. 路由器的工作原理——微云网络

热门文章

  1. 形式语言与自动机总结笔记
  2. 机器人关节伺服电机PID串级控制
  3. iOS编程比较好开源的完整项目iOS编程比较好开源的完整项目
  4. 遗传算法bp神经网络原理,bp神经网络 遗传算法
  5. html中复选框只能选一个,HTML选择三个不同的复选框并显示它们
  6. ubuntu设置截屏热键(区域截屏)
  7. Vue 富文本编辑器
  8. 快速从入门到精通!黑马java课程大纲
  9. oracle 绑定变量语法,Delphi使用绑定变量法操作Oracle
  10. 将pem证书转换为crt和key