还开着几个

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

按 Issue 模型,四个 Issue 状态是 open/done/review/done,open_count 交回几?

贯穿本节的 Issue 模型:状态流 FLOW=[open, in_progress, review, done]。next_state 往前推一格(到 done 就停)、open_count 数还没到 done 的、has_fields(issue, 必填) 必填字段齐没、closeable(子任务) 所有子任务 done 才可关。

FLOW = ["open", "in_progress", "review", "done"]


def next_state(state):
    # 沿流程推进一格;到头(done)就停在 done
    i = FLOW.index(state)
    return FLOW[min(i + 1, len(FLOW) - 1)]


def open_count(issues):
    # 还没到 done 的算「开着」
    return sum(1 for s in issues if s != "done")


def has_fields(issue, required):
    # 必填字段是否都非空
    return all(issue.get(f) for f in required)


def closeable(subtasks):
    # 所有子任务都 done 才能关
    return all(s == "done" for s in subtasks)

print(open_count(["open", "done", "review", "done"]))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论