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 学习笔记
Dec 27 Python
python利用MethodType绑定方法到类示例代码
Aug 27 Python
python绘制热力图heatmap
Mar 23 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 Python
Python如何使用bokeh包和geojson数据绘制地图
Mar 21 Python
python实现人脸签到系统
Apr 13 Python
python3.6使用SMTP协议发送邮件
May 20 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
python else语句在循环中的运用详解
Jul 06 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
pytorch损失反向传播后梯度为none的问题
May 12 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之第四天
2006/10/09 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
PHP之header函数详解
2021/03/02 PHP
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
2016/01/28 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
发布Angular应用至生产环境的方法
2018/12/10 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
在Python的Django框架中编写编译函数
2015/07/20 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
Python 支付整合开发包的实现
2019/01/23 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
什么是数据抽象
2016/11/26 面试题
员工年终演讲稿
2014/01/03 职场文书
班主任工作经验材料
2014/02/02 职场文书
现场施工员岗位职责
2014/03/10 职场文书
公司员工活动策划方案
2014/08/20 职场文书
信访工作汇报材料
2014/10/27 职场文书
伏羲庙导游词
2015/02/09 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
道歉短信大全
2015/05/12 职场文书
债务纠纷代理词
2015/05/25 职场文书
Ajax实现异步加载数据
2021/11/17 Javascript
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android