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的string模块中的Template类字符串模板用法
Jun 27 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
Dec 18 Python
浅谈python中的正则表达式(re模块)
Oct 17 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
完美解决python中ndarray 默认用科学计数法显示的问题
Jul 14 Python
Python的条件表达式和lambda表达式实例
Jan 31 Python
python 日期排序的实例代码
Jul 11 Python
简单了解Django应用app及分布式路由
Jul 24 Python
python字典排序的方法
Oct 12 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
django haystack实现全文检索的示例代码
Jun 24 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 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/02/16 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
2017/03/21 jQuery
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
Angular.js实现动态加载组件详解
2017/05/28 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
浅谈function(函数)中的动态参数
2017/04/30 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
python实现五子棋游戏
2019/06/18 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
python的faker库用法
2019/11/28 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
运动会通讯稿300字
2014/02/02 职场文书
母亲节演讲稿
2014/05/27 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
不错的求职信范文
2014/07/20 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
员工自我工作评价
2015/03/06 职场文书
2016情人节宣传语
2015/07/14 职场文书
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技
Docker部署Mysql8的实现步骤
2022/07/07 Servers