初级
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'}
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199