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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

详解Django CAS 解决方案

CAS单点登录主要是为了解决主系统和子系统的统一登录问题,能够做到任意一个子系统登录成功后,再登录其他子系统后不再需要认证,让用户不用重复地进行登录认证。CAS单点登录的方案很多,并且大...

Python中类型关系和继承关系实例详解

本文详细介绍了Python中类型关系和继承关系。分享给大家供大家参考。具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航。...

python代码过长的换行方法

python代码换行就是每行后面加个 \ 举个栗子: time = "2017" print "one" + "," \ + "two" \ + ",three" + \ "," +...

python正则表达式re模块详细介绍

本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一样漂亮。 正则表...

python UDP(udp)协议发送和接收的实例

需要建立2个文件,一个作为客户端,一个作为服务端 文件一 作为客户端client,文件二作为服务端server udp的特点是不需要建立连接 文件一客户端 #不需要建立连接 impo...