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 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
python新手经常遇到的17个错误分析
Jul 30 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
Python操作使用MySQL数据库的实例代码
May 25 Python
Python使用jsonpath-rw模块处理Json对象操作示例
Jul 31 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
Dec 06 Python
python名片管理系统开发
Jun 18 Python
Android Q之气泡弹窗的实现示例
Jun 23 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 Python
python cookie反爬处理的实现
Nov 01 Python
如何使用Python对NetCDF数据做空间相关分析
Apr 21 Python
Python Parser的用法
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通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
PHP的加密方式及原理
2012/06/14 PHP
php不写闭合标签的好处
2014/03/04 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
vue ssr 指南详读
2018/06/29 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
Python编程之序列操作实例详解
2017/07/22 Python
Python3.6 Schedule模块定时任务(实例讲解)
2017/11/09 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
利用python修改json文件的value方法
2018/12/31 Python
Python中常用的内置方法
2019/01/28 Python
Django中Middleware中的函数详解
2019/07/18 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
法国春天百货官网:Printemps.com
2020/06/29 全球购物
爱我中华教学反思
2014/04/28 职场文书
2015年高校就业工作总结
2015/05/04 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
小学生读书笔记
2015/07/01 职场文书
使用Java去实现超市会员管理系统
2022/03/18 Java/Android
以下牛机,你有几个
2022/04/05 无线电
Python&Matlab实现樱花的绘制
2022/04/07 Python