五层是不是全好

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

按模型,有一层不 OK,all_ok 交回什么?

贯穿全路线的分层模型:从底往上 LAYERS = 进程 → 端口 → 解析 → 连接 → HTTP。fault_layer(证据) 交回从底往上第一个不 OK 的层;deeper 哪层更底、next_check 查上一层、all_ok 是否全好。

LAYERS = ["进程", "端口", "解析", "连接", "HTTP"]


def fault_layer(ev):
    """ev: {层名: 这层是否 OK};交回从底往上第一个不 OK 的层(全 OK 交回 "")。"""
    for L in LAYERS:
        if not ev.get(L, True):
            return L
    return ""


def deeper(a, b):
    """哪一层更靠底层(进程最底、HTTP 最上);交回更底的那个。"""
    return a if LAYERS.index(a) <= LAYERS.index(b) else b


def next_check(layer):
    """分层排查:某层没问题,接着查上面一层;到 HTTP 就停在 HTTP。"""
    i = LAYERS.index(layer)
    return LAYERS[min(i + 1, len(LAYERS) - 1)]


def all_ok(ev):
    """五层是否全都 OK。"""
    return all(ev.get(L, True) for L in LAYERS)

print(all_ok({"进程": True, "端口": False, "解析": True, "连接": True, "HTTP": True}))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论