中级
处理网关批量上报中的部分失败
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd, json
devs_csv = open_url(____).read()
st_csv = open_url(____).read()
devs = pd.read_csv(StringIO(____))
st = pd.read_csv(StringIO(____))
valid_ids = set(____)
ranges = {r['____']:(____) for _,r in st.iterrows()}
def process_batch(____):
p = json.loads(____)
success = []; failed = []
for item in p.get(____):
did = item.get(____)
if did not in valid_ids:
failed.append(____)
continue
errors = []
for abbrev,metric in [(____),(____)]:
val = item.get(____)
if val is not None and metric in ranges:
lo,hi = ranges[metric]
if not (____): errors.append(____)
if errors: failed.append(____)
else: success.append(____)
return {'____':success,'____':failed}
payload = '____'
result = process_batch(____)
print("____" + str(____))
print("____" + str(____))
示例
输入
solve()
期望输出
success: ['ARD-002']
failed: [{'device_id': 'ARD-999', 'reason': 'unknown_device'}, {'device_id': 'ARD-001', 'reason': 'temperature_out_of_range'}]
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199