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 splitlines使用技巧
Sep 06 Python
利用Python实现Windows定时关机功能
Mar 21 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
PyQt5每天必学之事件与信号
Apr 20 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
TensorFlow利用saver保存和提取参数的实例
Jul 26 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 Python
python lambda表达式(匿名函数)写法解析
Sep 16 Python
详解Django CAS 解决方案
Oct 30 Python
Python序列类型的打包和解包实例
Dec 21 Python
python 实现分组求和与分组累加求和代码
May 18 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
基于mysql的论坛(3)
2006/10/09 PHP
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
2017/08/30 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
使用python实现省市三级菜单效果
2016/01/20 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
对Python中内置异常层次结构详解
2018/10/18 Python
python os.rename实例用法详解
2020/12/06 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
好家长事迹材料
2014/01/23 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
作风建设演讲稿
2014/05/23 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
大学生逃课检讨书
2015/05/04 职场文书
心灵捕手观后感
2015/06/02 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
教你如何使用Python开发一个钉钉群应答机器人
2021/06/21 Python
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
React如何创建组件
2021/06/27 Javascript