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中__call__用法实例
Aug 29 Python
python通过urllib2获取带有中文参数url内容的方法
Mar 13 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
Python 实现淘宝秒杀的示例代码
Jan 02 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
python实现接口并发测试脚本
Jun 25 Python
Django实现跨域的2种方法
Jul 31 Python
Python logging设置和logger解析
Aug 28 Python
python3中利用filter函数输出小于某个数的所有回文数实例
Nov 24 Python
使用 Python 写一个简易的抽奖程序
Dec 08 Python
python里glob模块知识点总结
Jan 05 Python
python开发飞机大战游戏
Jul 15 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中cookie的作用域
2008/03/27 PHP
php面向对象全攻略 (十五) 多态的应用
2009/09/30 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
初识PHP
2014/09/28 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
写出高效jquery代码的19条指南
2014/03/19 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
js实现的xml对象转json功能示例
2016/12/24 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
微信小程序 MD5加密登录密码详解及实例代码
2017/01/12 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
python正则表达式抓取成语网站
2013/11/20 Python
python hash每次调用结果不同的原因
2019/11/21 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
小学六一儿童节活动方案
2014/08/27 职场文书
运动员加油词
2015/07/18 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
table不让td文字溢出操作方法
2022/12/24 HTML / CSS