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

相关文章

Python3和pyqt5实现控件数据动态显示方式

Python3和pyqt5实现控件数据动态显示方式

最近笔者在做一个pyqt5的界面,由于在日常生活中,一些实际运用的场合都需要对数据进行实时的刷新,例如对某个数值的监控,水温,室温的监控等等,都需要实时的刷新控件显示的数据。 对于实现这...

Python面向对象之继承原理与用法案例分析

Python面向对象之继承原理与用法案例分析

本文实例讲述了Python面向对象之继承原理与用法。分享给大家供大家参考,具体如下: 目标 单继承 多继承 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类...

对python中的 os.mkdir和os.mkdirs详解

创建目录 在Python中可以使用os.mkdir()函数创建目录(创建一级目录)。 其原型如下所示: os.mkdir(path) 其参数path 为要创建目录的路径。 例如要在...

python网络应用开发知识点浅析

发送电子邮件 在即时通信软件如此发达的今天,电子邮件仍然是互联网上使用最为广泛的应用之一,公司向应聘者发出录用通知、网站向用户发送一个激活账号的链接、银行向客户推广它们的理财产品等几乎...

python修改注册表终止360进程实例

本文实例讲述了python修改注册表终止360进程的实现方法。分享给大家供大家参考。 具体实现代码如下: import _winreg import os import shutil...