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字符转换
Sep 06 Python
python实现无证书加密解密实例
Oct 27 Python
python下os模块强大的重命名方法renames详解
Mar 07 Python
python 中的int()函数怎么用
Oct 17 Python
Python中turtle作图示例
Nov 15 Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 Python
python+opencv实现高斯平滑滤波
Jul 21 Python
pytorch使用指定GPU训练的实例
Aug 19 Python
python修改FTP服务器上的文件名
Sep 11 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
Python ADF 单位根检验 如何查看结果的实现
Jun 03 Python
浅析python连接数据库的重要事项
Feb 22 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中使用反射技术的架构插件使用说明
2010/05/18 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
利用arcgis的python读取要素的X,Y方法
2018/12/22 Python
python中JWT用户认证的实现
2020/05/18 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
python+appium+yaml移动端自动化测试框架实现详解
2020/11/24 Python
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
几个MySql的面试题
2013/04/22 面试题
新任教师自我鉴定
2014/02/24 职场文书
校车司机安全责任书
2015/05/11 职场文书
三好学生竞选稿
2015/11/21 职场文书
合作合同协议书
2016/03/21 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
浅谈MySQL中的六种日志
2022/03/23 MySQL