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 实现文件的递归拷贝实现代码
Aug 02 Python
python处理二进制数据的方法
Jun 03 Python
python 基础教程之Map使用方法
Jan 17 Python
matplotlib 输出保存指定尺寸的图片方法
May 24 Python
Python实现将通信达.day文件读取为DataFrame
Dec 22 Python
实例详解Python装饰器与闭包
Jul 29 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
Sep 06 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
Numpy中的数组搜索中np.where方法详细介绍
Jan 08 Python
使用python向MongoDB插入时间字段的操作
May 18 Python
Python中的turtle画箭头,矩形,五角星
Mar 16 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实现WEB动态网页静态
2006/10/09 PHP
php中长文章分页显示实现代码
2012/09/29 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
Python将字典转换为XML的方法
2020/08/01 Python
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
高中毕业生生活的自我评价
2013/12/08 职场文书
年度考核自我鉴定
2014/03/19 职场文书
二手房买卖协议书
2014/04/10 职场文书
中学生操行评语大全
2014/04/24 职场文书
小学教师工作总结2015
2015/04/07 职场文书
新人入职感言
2015/07/31 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
使用golang编写一个并发工作队列
2021/05/08 Golang
python基础学习之递归函数知识总结
2021/05/26 Python