← 返回题库
初级

API版本路由分发器

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    from io import StringIO
    users_csv = open_url("https://data.zuihe.com/dbd/ms-shop/state_00/users.csv").read()
    import pandas as pd
    from io import StringIO
    users = pd.read_csv(StringIO(users_csv))
    def handler_v1(uid):
        row = users[users['id']==uid].iloc[0]
        return {'id':int(row['id']),'username':row['username'],'email':row['email']}
    def handler_v2(uid):
        row = users[users['id']==uid].iloc[0]
        return {'id':int(row['id']),'username':row['username'],'email':row['email'],'status':row['status'],'created_at':row['created_at']}
    registry = {'/v1/users': handler_v1, '/v2/users': handler_v2}
    def route(path, uid):
        for prefix, handler in registry.items():
            if path.startswith(prefix):
                return handler(uid)
        return {'error': 'not found'}
    for path in ['/v1/users', '/v2/users']:
        print(f"{path}: {route(path, 1)}")

示例

输入
solve()
期望输出
/v1/users: {'id': 1, 'username': 'alice', 'email': 'alice@example.com'}
/v2/users: {'id': 1, 'username': 'alice', 'email': 'alice@example.com', 'status': 'active', 'created_at': '2026-01-01 09:00:00'}
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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