zoukankan      html  css  js  c++  java
  • day2-三级菜单---改良版

    再也不想看之前的low代码了。。。确实~~~~ 代码量简化,high了

    #!/usr/bin/env python

    data = {
    '北京': {
    "昌平": {
    "望京1": {"奔驰", "默默"},
    "国贸2": ("cicc", "HP"),
    },
    "朝阳": {
    "望京1": {"奔驰", "默默"},
    "国贸1": ("cicc", "HP"),
    },
    },
    '山东': {
    "昌平": {
    "望京1": {"奔驰", "默默"},
    "国贸2": ("cicc", "HP"),
    },
    "朝阳": {
    "望京2": {"奔驰", "默默"},
    "国贸2": ("cicc", "HP"),
    },
    },
    '广东': {
    "昌平": {
    "望京1": {"奔驰", "默默"},
    "国贸2": ("cicc", "HP"),
    },
    "朝阳": {
    "望京3": {"奔驰", "默默"},
    "国贸4": ("cicc", "HP"),
    },
    },
    }
    current_layer = data
    layerlist = list()
    while True:
    for i in current_layer: #去重复,定义一个打印,变量是current_layer
    print(i)
    choice = input("选择进入,按b返回,按q退出>>:")
    if choice in current_layer:
    try: #防止读取到最后一层报错
    layerlist.append(current_layer)
    current_layer = current_layer[choice]
    except TypeError:
    pass # 如果最后一层,则保持当层不变
    continue
    elif choice.lower() == 'b':
    try:#防止回退到最开始一层报错
    current_layer = layerlist.pop()
    except IndexError:
    pass#如果第一层,则保持当层不变
    continue
    elif choice.lower() == 'q':
    exit("bye~~")
  • 相关阅读:
    Java 包装类的自动封箱与拆箱
    Java 基本类型的包装类
    Java日期时间练习三(闰年)
    导入包与模块
    模块_os模块
    Re模块练习题
    Re模块的方法补充
    Re模块的 三个方法
    基础纹理
    ruby 的数组操作
  • 原文地址:https://www.cnblogs.com/a10086/p/9236671.html
Copyright © 2011-2022 走看看