← 返回题库
初级

校验账单用户归属一致性

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    txs = pd.read_csv(StringIO(open_url("https://data.zuihe.com/dbd/ms-ledger/state_02/transactions.csv").read()))
    rcp = pd.read_csv(StringIO(open_url("https://data.zuihe.com/dbd/ms-ledger/state_01/receipts.csv").read()))
    rcp_map = dict(zip(rcp['receipt_id'], rcp['user_id']))
    issues = []
    for _, tx in txs[txs['receipt_id']!=''].iterrows():
        ruser = rcp_map.get(tx['receipt_id'])
        if ruser and ruser != tx['user_id']:
            issues.append({'tx':tx['tx_id'],'tx_user':tx['user_id'],'rcp_user':ruser})
    print(f"With receipt: {len(txs[txs['receipt_id']!=''])} | Mismatches: {len(issues)}")
    for i in issues[:3]:
        print(f"  {i['tx']}: tx_user={i['tx_user']} != rcp_user={i['rcp_user']}")

示例

输入
solve()
期望输出
With receipt: 250 | Mismatches: 0
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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