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中的__new__()方法的使用
Apr 09 Python
在Python的Flask框架中使用日期和时间的教程
Apr 21 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python有序字典简单实现方法示例
Sep 28 Python
python执行使用shell命令方法分享
Nov 08 Python
kaggle+mnist实现手写字体识别
Jul 26 Python
python for 循环获取index索引的方法
Feb 01 Python
python替换字符串中的子串图文步骤
Jun 19 Python
Python 写入训练日志文件并控制台输出解析
Aug 13 Python
python中Lambda表达式详解
Nov 20 Python
Django nginx配置实现过程详解
Sep 10 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 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
Protoss魔法科技
2020/03/14 星际争霸
php include加载文件两种方式效率比较
2010/08/08 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
简述JS浏览器的三种弹窗
2018/07/15 Javascript
详解Vue组件插槽的使用以及调用组件内的方法
2018/11/13 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
python脚本替换指定行实现步骤
2017/07/11 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
python os.path模块常用方法实例详解
2018/09/16 Python
Python笔记之观察者模式
2019/11/20 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
个人党性剖析材料
2014/02/03 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
体育课外活动总结
2014/07/08 职场文书
陈安之励志演讲稿
2014/08/21 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
工会文体活动总结
2015/05/07 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记
深入理解pytorch库的dockerfile
2022/06/10 Python