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通过加号运算符操作列表的方法
Jul 28 Python
Python下的常用下载安装工具pip的安装方法
Nov 13 Python
Python+django实现文件下载
Jan 17 Python
python模块之paramiko实例代码
Jan 31 Python
python3 kmp 字符串匹配的方法
Jul 07 Python
django中账号密码验证登陆功能的实现方法
Jul 15 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
Mar 24 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
如何获取numpy array前N个最大值
May 14 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
字符串长度函数strlen和mb_strlen的区别示例介绍
2014/09/09 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
javascript常用函数(2)
2015/11/05 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
vue使用echarts图表的详细方法
2018/10/22 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
vue 中固定导航栏的实例代码
2019/11/01 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
Python实现通讯录功能
2018/02/22 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
便利店投资创业计划书
2014/02/08 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
大班开学家长寄语
2014/04/04 职场文书
主要领导对照检查材料
2014/08/26 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
贫困生证明范文
2015/06/16 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL