中级
验证传感器读数量程范围
未完成
中级参考
代码结构已给出,请填写 ____ 处
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(____):
errors = []
try: payload = json.loads(____)
except: return [(____)]
for reading in payload.get(____):
m = reading.get(____)
v = reading.get(____)
if m in ranges and isinstance(v,(____)):
lo,hi = ranges[m]
if not (____): errors.append((____))
return errors
for _, row in payloads.iterrows():
errs = validate_range(____)
if errs: print(____)
else: print(____)
示例
输入
solve()
期望输出
id=1: range_ok
id=2: range_ok
id=3: [('vibration_rms', 999.9, 'out_of_range[0.0,20.0]')]
id=4: range_ok
id=5: range_ok
id=6: range_ok
id=7: range_ok
id=8: range_ok
id=9: range_ok
id=10: [('pressure', 2600.0, 'out_of_range[900.0,1100.0]')]
id=11: range_ok
id=12: range_ok
id=13: range_ok
id=14: range_ok
id=15: range_ok
id=16: range_ok
id=17: range_ok
id=18: range_ok
id=19: range_ok
id=20: range_ok
id=21: range_ok
id=22: range_ok
id=23: range_ok
id=24: range_ok
id=25: range_ok
id=26: range_ok
id=27: range_ok
id=28: range_ok
id=29: range_ok
id=30: range_ok
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199