Python3实现的简单三级菜单功能示例

 更新时间:2019年03月12日 10:16:52   作者:爱跳舞的青年君   我要评论

这篇文章主要介绍了Python3实现的简单三级菜单功能,涉及Python用户交互以及针对json格式数据的遍历、读取、判断等相关操作技巧,需要的朋友可以参考下

本文实例讲述了Python3实现的简单三级菜单功能。分享给大家供大家参考,具体如下:

三级菜单_要求:

1. 运行程序输出第一级菜单
2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
3. 菜单数据保存在文件中
4. 让用户选择是否要退出
5. 有返回上一级菜单的功能

执行代码:

#!/usr/bin/env python3
# Author:Robert
# --*-- coding: utf-8 --*--
data = {
  "北京":{
    "东城区":{
      "安定门":["国子监大街","孔庙","钟楼"],
      "建国门":["Jinbaojie","长安街","西街"],
      "朝阳门":["东四南大街","朝阳门内大街","孚王府"]
      },
    "朝阳区":{
      "和平街":["胜古庄社区","樱花社区","和平东街社区"],
      "八里庄":["慈寿寺塔","定慧寺"],
      "三里屯":["798艺术区","北京工人体育馆"]
    },
    "海淀":{}
  },
  '山东':{
    "德州":{},
    "青岛":{},
    "济南":{}
  },
  '广东':{
    "东莞":{},
    "常熟":{},
    "佛山":{}
  }
}
exit_flag = False
while not exit_flag:
  for i in data:
    print(i)
  choice = input("选择进入-->:")
  if choice in data:
    while not exit_flag:
      for i2 in data[choice]:
        print("\t",i2)
      choice2 = input("选择进入2-->:")
      if choice2 in data[choice]:
        while not exit_flag:
          for i3 in data[choice][choice2]:
            print("\t\t",i3)
          choice3 = input("选择进入3-->:")
          if choice3 in data[choice][choice2]:
            for i4 in data[choice][choice2][choice3]:
              print("\t\t",i4)
            choice4 = input("最后一层,按b返回-->:")
            if choice4 == "b":
              pass
            elif choice4 == "q":
              exit_flag = True
          if choice3 == "b":
            break
          elif choice4 == "q":
            exit_flag = True
      if choice2 == "b":
        break
      elif choice4 == "q":
        exit_flag = True

运行效果:

PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

更多Python相关内容感兴趣的读者可查看本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Python读取图片为16进制表示简单代码

    Python读取图片为16进制表示简单代码

    这篇文章主要介绍了Python读取图片为16进制表示简单代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python实现RabbitMQ的消息队列的示例代码

    python实现RabbitMQ的消息队列的示例代码

    这篇文章主要介绍了python实现RabbitMQ的消息队列的示例代码,总结了RabbitMQ中三种exchange模式的实现,分别是fanout, direct和topic。感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python之web模板应用

    Python之web模板应用

    这篇文章主要介绍了Python之web模板应用,web模板可以更加灵活和方便的控制HTML的显示,非常具有实用价值,有需要的小伙伴可以参考下
    2017-12-12
  • Python多层嵌套list的递归处理方法(推荐)

    Python多层嵌套list的递归处理方法(推荐)

    下面小编就为大家带来一篇Python多层嵌套list的递归处理方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 浅谈Python2.6和Python3.0中八进制数字表示的区别

    浅谈Python2.6和Python3.0中八进制数字表示的区别

    下面小编就为大家带来一篇浅谈Python2.6和Python3.0中八进制数字表示的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Pycharm无法使用已经安装Selenium的解决方法

    Pycharm无法使用已经安装Selenium的解决方法

    今天小编就为大家分享一篇Pycharm无法使用已经安装Selenium的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python3使用urllib模块制作网络爬虫

    python3使用urllib模块制作网络爬虫

    本文给大家介绍的是利用urllib模块通过指定的URL抓取网页内容 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地,有需要的小伙伴可以参考下
    2016-04-04
  • 详解Python发送邮件实例

    详解Python发送邮件实例

    这篇文章主要介绍了Python发送邮件实例,Python发送邮件需要smtplib和email两个模块,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Python连接Redis的基本配置方法

    Python连接Redis的基本配置方法

    本文分享了Linux系统下Python连接Redis的基本配置方法,Python连接Redis需要Redis的Python包支持
    2018-09-09
  • 11月编程语言排行榜 Python逆袭C#上升到第4

    11月编程语言排行榜 Python逆袭C#上升到第4

    11月编程语言排行榜 Python逆袭C#上升到第4,无论在哪个榜单中 Python 都是保持着非同寻常的增长速度,为什么Python增长的这么快
    2017-11-11

最新评论