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

yipeiwu_com5年前Python基础

本文实例讲述了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的urllib库提交WEB表单

复制代码 代码如下:class EntryDemo( Frame ): """Demonstrate Entrys and Event binding""" chosenrange =...

解决Python3 控制台输出InsecureRequestWarning问题

解决Python3 控制台输出InsecureRequestWarning的问题 问题: 使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)...

如何分离django中的媒体、静态文件和网页

django项目中,占很大体积的是静态文件,媒体文件还有html代码,那我们该如何把它们分离出来以方便我们和服务器去管理和使用它们。 static 文件 static ,顾名思义就是静态...

对python中 math模块下 atan 和 atan2的区别详解

atan 和 atan2 都是反正切函数,返回的都是弧度 对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是: a...

如何更改 pandas dataframe 中两列的位置

如何更改 pandas dataframe 中两列的位置

如何更改 pandas dataframe 中两列的位置: 把其中的某列移到第一列的位置。 原来的 df 是: df = pd.read_csv('I:/Papers/consume...