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~~")
  • 相关阅读:
    13、java中8中基本类型
    12、static final
    11、final详解
    10、java初始化顺序
    9、java中static详解
    9、接口和抽象类
    8、java内部类
    7、手工编译和运行时注意事项
    推荐10 款 SVG 动画的 JavaScript 库
    让优秀的文章脱颖而出---极客头条使用体验
  • 原文地址:https://www.cnblogs.com/a10086/p/9236671.html
Copyright © 2011-2022 走看看