Python字典实现简单的三级菜单(实例讲解)


Posted in Python onJuly 31, 2017

如下所示:

data = {
 "北京":{
  "昌平":{"沙河":["oldboy","test"],"天通苑":["链接地产","我爱我家"]},
  "朝阳":{"望京":["奔驰","陌陌"],"国贸":["CICC","HP"],"东直门":["advent","飞信"]},
  "海淀":{}
 },
 "山东":{
  "德州":{},
  "青岛":{},
  "济南":{}
 },
 "广东":{
  "东莞":{},
  "常熟":{},
  "佛山":{}
 }
}
exit_flag = False
while not exit_flag:
 for i in data:
  print(i)
 choice_s = input("请输入以上任一省或直辖市名称>>>:")
 if choice_s in data:
  while not exit_flag:
   for i in data[choice_s]:
    print("\t",i)
   choice_q = input("请输入以上任一市区名称>>>:")
   if choice_q in data[choice_s]:
    while not exit_flag:
     for i in data[choice_s][choice_q]:
      print("\t\t",i)
     choice_j = input("请输入以上任一街道名称>>>:")
     if choice_j in data[choice_s][choice_q]:
      for i in data[choice_s][choice_q][choice_j]:
       print("\t\t",i)
      last = input("最后一层,按b返回>>>:")
      if last == "b":
       pass
      elif last == "q":
       exit_flag = True
     if choice_j == "b":
      break
     elif choice_j == "q":
      exit_flag = True
   if choice_q == "b":
    break
   elif choice_q == "q":
    exit_flag = True

要点:

1、字典的层级关系

2、break是终止本次循环,pass是什么也不做,一个占位符而已

3、巧妙使用exit_flag = False

以上这篇Python字典实现简单的三级菜单(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之编写类之三子类
Oct 11 Python
python清除字符串里非字母字符的方法
Jul 02 Python
Python 的描述符 descriptor详解
Feb 27 Python
Python实现统计文本文件字数的方法
May 05 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
详解Python:面向对象编程
Apr 10 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
flask框架url与重定向操作实例详解
Jan 25 Python
python连接mongodb集群方法详解
Feb 13 Python
python实现数据结构中双向循环链表操作的示例
Oct 09 Python
Python中read()、readline()和readlines()三者间的区别和用法
Jul 30 #Python
深入探究Django中的Session与Cookie
Jul 30 #Python
python中numpy包使用教程之数组和相关操作详解
Jul 30 #Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
Jul 30 #Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 #Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 #Python
Python 装饰器使用详解
Jul 29 #Python
You might like
PR值查询 | PageRank 查询
2006/12/20 PHP
php htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
Python解析树及树的遍历
2016/02/03 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
python interpolate插值实例
2020/07/06 Python
浅析Python面向对象编程
2020/07/10 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
研究生自荐信
2013/10/09 职场文书
初中三年毕业生的自我评价分享
2014/02/14 职场文书
加入学生会演讲稿
2014/04/24 职场文书
工程负责人任命书
2014/06/06 职场文书
卫生标语大全
2014/06/21 职场文书
个性车贴标语
2014/06/24 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL