中级
验证传感器读数量程合法性
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd, json
payloads_csv = open_url(____).read()
st_csv = open_url(____).read()
payloads = pd.read_csv(StringIO(____))
st = pd.read_csv(StringIO(____))
ranges = {r['____']:(____) for _,r in st.iterrows()}
def validate_range(____):
try: p = json.loads(____)
except: return ['____']
errors = []
readings = p.get(____)
if fmt == '____':
m = {'____':'____','____':'____','____':'____','____':'____'}
readings = [{'____':full,'____':p[abbrev]} for abbrev,full in m.items() if abbrev in p]
for r in readings:
metric = r.get(____); val = r.get(____)
if metric in ranges and isinstance(val,(____)):
lo,hi = ranges[metric]
if not (____):
errors.append(metric+"____"+str(____)+"____"+str(____)+"____"+str(____)+"____")
return errors
for _, row in payloads.head(____).iterrows():
errs = validate_range(____)
if errs: print("____"+str(____)+"____"+str(____)+"____"+str(____))
else: print("____"+str(____)+"____")
示例
输入
solve()
期望输出
id=1: range_ok id=2: range_ok id=3 (nan): ['invalid_json'] id=4: range_ok id=5 (out_of_range): ['invalid_json'] id=6: range_ok id=7: range_ok id=8: range_ok id=9: range_ok id=10: range_ok id=11: range_ok id=12: range_ok
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199