← 返回题库
中级

实现素材审核状态机

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    crv_csv = open_url(____).read()
    creatives = pd.read_csv(StringIO(____))
    ACTION_MAP = {'____':(____),'____':(____),'____':(____),'____':(____),'____':(____)}
    def process(____):
        if action not in ACTION_MAP: return False, '____'
        exp_from, to = ACTION_MAP[action]
        crv = creatives[creatives['____']==creative_id]
        if crv.empty: return False, '____'
        cur = crv.iloc[____]['____']
        if cur != exp_from: return False, f'____'
        return True, f'____'
    tests = [(____),(____),(____),(____)]
    print(____)
    for cid, action in tests:
        ok, msg = process(____)
        print("____"+cid+"____"+action+"____"+(____))
    print("____"+str(dict(creatives.groupby(____).size())))

示例

输入
solve()
期望输出
Review state machine:
  CRV-0001 start_review: FAIL invalid_state:approved!=pending
  CRV-0001 approve: FAIL invalid_state:approved!=reviewing
  CRV-0002 reject: FAIL invalid_state:approved!=reviewing
  CRV-0002 resubmit: FAIL invalid_state:approved!=rejected
Status dist: {'approved': np.int64(66), 'pending': np.int64(23), 'rejected': np.int64(31)}
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码