zoukankan      html  css  js  c++  java
  • 路飞学城系列:第2章 数据类型&文件操作-作业(1)【三级菜单】

    # coding: utf-8
    
    """ 三级菜单
    
    需求:
    可依次选择进入各子菜单
    可从任意一层往回退到上一层
    可从任意一层退出程序
    所需新知识点:列表、字典
    
    """
    
    # 三级菜单数据信息
    menu = {
        '北京':{
            '海淀':{
                '五道口':{
                    'soho':{},
                    '网易':{},
                    'google':{}
                },
                '中关村':{
                    '爱奇艺':{},
                    '汽车之家':{},
                    'youku':{},
                },
                '上地':{
                    '百度':{},
                },
            },
            '昌平':{
                '沙河':{
                    '老男孩':{},
                    '北航':{},
                },
                '天通苑':{},
                '回龙观':{},
            },
            '朝阳':{},
            '东城':{},
        },
        '上海':{
            '闵行':{
                "人民广场":{
                    '炸鸡店':{}
                }
            },
            '闸北':{
                '火车站':{
                    '携程':{}
                }
            },
            '浦东':{},
        },
        '山东':{},
    }
    
    # 当前所在层级
    current_layer = menu
    # 上一层级,list列表存储
    last_layer = []
    # 判断是否退出循环(胡导推荐)
    is_not_exit = True
    
    # 通过循环遍历菜单
    while is_not_exit:
        # 打印所在层级
        for layer in current_layer:
            print(layer)
    
        # 用户输入
        user_select = input(">>:")
        # 对用户输入进行if条件判断(进入下一层、返回上一层b、退出q、输入有误)
        # 进入下一层
        if user_select in current_layer:
            # 把当前层级记录到存放“上一层级”的列表
            last_layer.append(current_layer)
            # 更新当前层级为新选择的层级
            current_layer = current_layer[user_select]
        # 返回上一层b
        elif user_select == "b":
            # 判断上一层是否为空
            if len(last_layer) > 0:
                # 从“上一层级”列表取出上一层,赋值给当前层级,并且把上一层级从列表移除
                current_layer = last_layer.pop()
            else:
                print("到顶层了兄弟~")
        # 退出q
        elif user_select == "q":
            # exit("程序退出,谢谢使用!")
            is_not_exit = False
            print("程序退出,谢谢使用!")
        # 输入有误
        else:
            print("输入有误,请重新输入~")
  • 相关阅读:
    maven编译时错误:无效的目标发行版
    参数传递方法(用Delphi的汇编代码解释)
    Playing with coroutines and Qt
    Qt的一些开发技巧
    刘晏:大唐经济战线的英雄
    Qt的焦点策略
    高级程序员与CTO技术总监首席架构师
    Python入门机器学习
    Service Mesh(服务网格)
    自定义博客园Markdown样式.超简单!
  • 原文地址:https://www.cnblogs.com/lizhen416/p/13662164.html
Copyright © 2011-2022 走看看