全过还是有挂

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

(贯穿本条的小模型:流水线固定按 build → test → lint 三步跑,run_pipeline(结果) 遇第一个失败就停、交回 (跑了几步, 'PASS' 或失败的步名);all_green 三步全过才 True;first_fail 交回第一个失败的步名。)

两次结果:一次三步全过,一次 test 挂,各问全过没:

STAGES = ["build", "test", "lint"]


def run_pipeline(results):
    """按 STAGES 固定顺序跑,遇第一个失败就停(fail-fast)。交回 (跑了几个阶段, 'PASS' 或第一个失败阶段名)。"""
    ran = 0
    for s in STAGES:
        ran += 1
        if not results.get(s, True):
            return ran, s
    return ran, "PASS"


def all_green(results):
    """三个阶段全过才 True。"""
    return all(results.get(s, True) for s in STAGES)


def first_fail(results):
    """第一个失败的阶段名;全过交回空串。"""
    for s in STAGES:
        if not results.get(s, True):
            return s
    return ""

print(str(all_green({"build": True, "test": True, "lint": True})) + "/" + str(all_green({"build": True, "test": False, "lint": True})))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论