这次提交放行还是拦下

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

(pre_commit(检查表) 全过交回 0(放行)、有一个挂交回 1(拦下);verdict 交回「提交」或「拦下」;blocked_by(带名字的检查) 交回第一个把提交拦下的检查名。)

三项检查里 lint 挂了,问退出码和结论:

def pre_commit(checks):
    """pre-commit 钩子跑一串检查:全过交回 0(放行提交),有一个挂交回 1(拦下)。"""
    return 0 if all(checks) else 1


def verdict(checks):
    """这次提交会被放行还是拦下:交回 '提交' 或 '拦下'。"""
    return "提交" if all(checks) else "拦下"


def blocked_by(named):
    """named: [(检查名, 通过?)],交回第一个把提交拦下的检查名;全过交回空串。"""
    for name, ok in named:
        if not ok:
            return name
    return ""

checks = [True, True, False]
print(str(pre_commit(checks)) + "/" + verdict(checks))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论