Python3.5实现的三级菜单功能示例


Posted in Python onMarch 25, 2019

本文实例讲述了Python3.5实现的三级菜单功能。分享给大家供大家参考,具体如下:

程序:三级菜单

要求:

     1. 打印省、市、县三级菜单
     2. 可返回上一级
     3. 可随时退出程序

具体代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
Province_Data = {
  "北京市":{
    "朝阳区":{
      "南磨房地区":["东郊社区","平乐园社区"],
      "高碑店地区":["兴隆家园社区","大黄庄社区"],
      "将台地区":["丽都社区","房里苑社区"]
    },
    "海淀区":{
      "万寿路街道":["",""],
      "羊坊店街道":["",""],
      "八里庄街道":["",""]
    },
    "怀柔区":{
      "怀柔镇":["",""],
      "雁栖镇":["",""],
      "城庙镇":["",""]
    }
  },
  "天津市":{
    "和平区":{
      "劝业场街道":["",""],
      "小白楼街道":["",""],
      "五大道街道":["",""]
    },
    "南开区":{
      "华苑街道":["",""],
      "长虹街道":["",""],
      "鼓楼街道":["",""]
    },
    "河西区":{
      "桃园街道":["",""],
      "马场街道":["",""],
      "大营门街道":["",""]
    }
  },
  "河北省":{
    "石家庄市":{
      "长安区":["",""],
      "桥西区":["",""],
      "新华区":["",""]
    },
    "廊坊市":{
      "安次区":["",""],
      "广阳区":["",""],
      "西小区":["",""]
    },
    "唐山市":{
      "路南区":["",""],
      "路北区":["",""],
      "古冶区":["",""]
    }
  },
  "山东省":{
    "青岛市":{
      "市南区":["",""],
      "市北区":["",""],
      "即墨市":["",""]
    },
    "济南市":{
      "历下区":["",""],
      "市中区":["",""],
      "槐荫区":["",""]
    },
    "烟台市":{
      "福山区":["",""],
      "莱山区":["",""],
      "牟平区":["",""]
    }
  }
}
exit_flag = False  #退出标志符
while not exit_flag:
  for i in Province_Data:
    print(i)
  user_choice = input("Please choose the province...")
  if user_choice in Province_Data:
    while not exit_flag:
      for j in Province_Data[user_choice]:
        print('\t',j)
      user_choice1 = input("Please choose the city...")
      if user_choice1 in Province_Data[user_choice]:
        while not exit_flag:
          for k in Province_Data[user_choice][user_choice1]:
            print('\t\t',k)
          user_choice2 = input("Please choose the communitiy...")
          if user_choice2 in Province_Data[user_choice][user_choice1]:
            while not exit_flag:
              for l in Province_Data[user_choice][user_choice1][user_choice2]:
                print('\t\t\t',l)
              user_choice3 = input("The last choose,please enter 'b' to back...")
              if user_choice3 == 'b':
                break
              elif user_choice3 == 'q':
                exit_flag = True
          if user_choice2 == 'b':
            break
          elif user_choice2 == 'q':
            exit_flag = True
      if user_choice1 == 'b':
        break
      elif user_choice1 == 'q':
        exit_flag = True
#运行结果:
'''
山东省
河北省
天津市
北京市
Please choose the province...北京市
 朝阳区
 怀柔区
 海淀区
Please choose the city...朝阳区
  南磨房地区
  将台地区
  高碑店地区
Please choose the communitiy...将台地区
  丽都社区
  房里苑社区
The last choose,please enter 'b' to back...b
  南磨房地区
  将台地区
  高碑店地区
Please choose the communitiy...b
 朝阳区
 怀柔区
 海淀区
Please choose the city...b
山东省
河北省
天津市
北京市
Please choose the province...北京市
 朝阳区
 怀柔区
 海淀区
Please choose the city...q
Process finished with exit code 0
'''
Python 相关文章推荐
编写Python脚本批量下载DesktopNexus壁纸的教程
May 06 Python
python中黄金分割法实现方法
May 06 Python
Python中处理字符串之endswith()方法的使用简介
May 18 Python
用tensorflow搭建CNN的方法
Mar 05 Python
使用Python实现一个栈判断括号是否平衡
Aug 23 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
python的debug实用工具 pdb详解
Jul 12 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
如何将PySpark导入Python的放实现(2种)
Apr 26 Python
pandas 像SQL一样使用WHERE IN查询条件说明
Jun 05 Python
python如何操作mysql
Aug 17 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 #Python
Python for循环与range函数的使用详解
Mar 23 #Python
详解Python读取yaml文件多层菜单
Mar 23 #Python
详解Python数据分析--Pandas知识点
Mar 23 #Python
详解Python基础random模块随机数的生成
Mar 23 #Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
Mar 23 #Python
Django异步任务之Celery的基本使用
Mar 23 #Python
You might like
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
Jquery中request和request.form和request.querystring的区别
2015/11/26 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
javascript实现简易计算器
2017/02/01 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
详解package.json版本号规则
2019/08/01 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python虚拟环境项目实例
2017/11/20 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
学习委员自我鉴定
2014/01/13 职场文书
单位成立周年感言
2014/01/26 职场文书
小学生家长评语集锦
2014/01/30 职场文书
食品销售计划书
2014/04/26 职场文书
家长会开场白和结束语
2015/05/29 职场文书
python异常中else的实例用法
2021/06/15 Python
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
python如何为list实现find方法
2022/05/30 Python