一句话报告长什么样

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

按模型,one_line({"解析": True, "连接": False, "加密": True, "请求": True}) 交回什么?

贯穿本节的全链路模型(判题机不联网、镜像没 dig/tcpdump,这是它的确定模型,见 spine.py):一次访问要依次走通四步——解析(DNS) → 连接(TCP) → 加密(TLS) → 请求(HTTP);证据 ev{步名: 是否 OK}

报告:root(ev)=根因层(全通交回「无」)、fmt(步,细节)=一条报告行、severity(ev)=正常/故障、one_line(ev)=状态/根因层。

STEPS = ["解析", "连接", "加密", "请求"]


def root(ev):
    """根因层:从底往上第一个坏的步;全通交回「无」。"""
    for s in STEPS:
        if not ev.get(s, True):
            return s
    return "无"


def fmt(step, detail):
    """一条报告行:步名:细节。"""
    return step + ":" + detail


def severity(ev):
    """整体判定:全通正常,否则故障。"""
    return "正常" if all(ev.get(s, False) for s in STEPS) else "故障"


def one_line(ev):
    """一句话报告:状态/根因层。"""
    return severity(ev) + "/" + root(ev)

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

                        
👩‍🏫
AI
💬 题目评论

全部评论