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写的Discuz7.2版faq.php注入漏洞工具
Aug 06 Python
python获取当前计算机cpu数量的方法
Apr 18 Python
Python编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
20个常用Python运维库和模块
Feb 12 Python
Python实现将json文件中向量写入Excel的方法
Mar 26 Python
详解Python安装scrapy的正确姿势
Jun 26 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
PyCharm 专业版安装图文教程
Feb 20 Python
浅析Python实现DFA算法
Jun 26 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
深入PHP autoload机制的详解
2013/06/09 PHP
php时间函数用法分析
2016/05/28 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
简析Python的闭包和装饰器
2016/02/26 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
Python实现的计算器功能示例
2018/04/26 Python
python实现文本界面网络聊天室
2018/12/12 Python
python实现烟花小程序
2019/01/30 Python
Python秒算24点实现及原理详解
2019/07/29 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
简单聊聊H5的pushState与replaceState的用法
2018/04/03 HTML / CSS
抗洪抢险事迹材料
2014/05/06 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
报到证办理个人委托书
2014/10/06 职场文书
2014年少先队工作总结
2014/12/03 职场文书
校长师德表现自我评价
2015/03/05 职场文书
培训通知
2015/04/17 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript