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 相关文章推荐
Pycharm学习教程(7)虚拟机VM的配置教程
May 04 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
对Tensorflow中的变量初始化函数详解
Jul 27 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
python判断两个序列的成员是否一样的实例代码
Mar 01 Python
详解Django配置JWT认证方式
May 09 Python
如何在mac下配置python虚拟环境
Jul 06 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 Python
Python之基础函数案例详解
Aug 30 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中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
php常用字符函数实例小结
2016/12/29 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
浅谈Python中range和xrange的区别
2017/12/20 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
python脚本实现验证码识别
2018/06/07 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
python中判断文件结束符的具体方法
2020/08/04 Python
python字典按照value排序方法
2020/12/28 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
北大自主招生自荐信
2013/10/19 职场文书
学校采购员岗位职责
2014/01/02 职场文书
单位单身证明范本
2014/01/11 职场文书
事业单位辞职信范文
2014/01/19 职场文书
一年级家长会邀请函
2014/01/25 职场文书
企业年度评优方案
2014/06/02 职场文书
政府个人对照检查材料
2014/08/28 职场文书
python关于集合的知识案例详解
2021/05/30 Python
Javascript的promise,async和await的区别详解
2022/03/24 Javascript