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检测一个对象是否为字符串类的方法
May 21 Python
python中set常用操作汇总
Jun 30 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
Python(Django)项目与Apache的管理交互的方法
May 16 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
信号生成及DFT的python实现方式
Feb 25 Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 Python
Python如何将将模块分割成多个文件
Aug 04 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 Python
Jupyter notebook 更改文件打开的默认路径操作
May 21 Python
pandas进行数据输入和输出的方法详解
Mar 23 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 UTF8编码内的繁简转换类
2009/07/20 PHP
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
Python中的推导式使用详解
2015/06/03 Python
Django中的CBV和FBV示例介绍
2018/02/25 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
python list多级排序知识点总结
2019/10/23 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
python如何从键盘获取输入实例
2020/06/18 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
2014年预备党员学习两会心得体会
2014/03/17 职场文书
健康状况证明模板
2014/10/23 职场文书
三行辞职书范文
2015/02/26 职场文书
热血教师观后感
2015/06/10 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python