初级
设计设备操作HTTP状态码规范
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd
devs_csv = open_url("https://data.zuihe.com/dbd/ms-iot/state_00/devices.csv").read()
devs = pd.read_csv(StringIO(devs_csv))
def upload_data(device_id, payload):
row = devs[devs['device_id']==device_id]
if row.empty: return 404, {'error': 'device not found'}
st = row.iloc[0]['status']
if st == 'maintenance': return 503, {'error': 'device in maintenance'}
if st == 'error': return 422, {'error': 'device error state'}
if not payload.get('readings'): return 400, {'error': 'missing readings'}
return 200, {'accepted': True, 'device_id': device_id}
tests = [('DEV001',{'readings':[1]}),('DEV099',{}),('DEV010',{'readings':[1]}),('DEV001',{})]
for did, payload in tests:
code, body = upload_data(did, payload)
print(f"{did}: HTTP {code} - {body}")
示例
输入
solve()
期望输出
DEV001: HTTP 200 - {'accepted': True, 'device_id': 'DEV001'}
DEV099: HTTP 404 - {'error': 'device not found'}
DEV010: HTTP 503 - {'error': 'device in maintenance'}
DEV001: HTTP 400 - {'error': 'missing readings'}
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199