还剩几步没做
按贡献流程模型,已完成 {fork, clone},remaining 交回还剩几步?
贡献流程模型:STEPS = fork → clone → branch → commit → push → pr → review → merge。step_index 排第几、next_step 下一步、remaining(已完成集合) 还剩几步、done 走完没。
STEPS = ["fork", "clone", "branch", "commit", "push", "pr", "review", "merge"]
def step_index(s):
"""这一步在整条贡献流程里排第几(从 0 数)。"""
return STEPS.index(s)
def next_step(s):
"""贡献流程往前推一步;到 merge 就停。"""
i = STEPS.index(s)
return STEPS[min(i + 1, len(STEPS) - 1)]
def remaining(done):
"""还剩几步没做(done 是已完成的步骤集合)。"""
return sum(1 for s in STEPS if s not in done)
def done(done_set):
"""整条流程是不是全走完了。"""
return all(s in done_set for s in STEPS)
print(remaining({"fork", "clone"}))
全部评论