中级
实现单传感器上报频率限流
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd
logs_csv = open_url(____).read()
logs = pd.read_csv(StringIO(____))
MIN_INTERVAL = ____
last_upload = {}
def check_rate_limit(____):
last = last_upload.get(____)
if last is not None and (____) < MIN_INTERVAL:
return False, '____' + str(round(____)) + '____' + str(____) + '____'
last_upload[device_id] = ts
return True, '____'
print(____)
for _, row in logs.sort_values(____).head(____).iterrows():
ok, msg = check_rate_limit(____)
print("____"+row['____']+"____"+str(____)+"____"+msg)
示例
输入
solve()
期望输出
Rate limit (min_interval=300s=5min): SOIL-A02 ts=1748736000.0: ok SOIL-B01 ts=1748736000.0: ok SOIL-B01 ts=1748736030.0: too_frequent: 30.0s < 300.0s SOIL-B01 ts=1748736060.0: too_frequent: 60.0s < 300.0s SOIL-B01 ts=1748736090.0: too_frequent: 90.0s < 300.0s SOIL-B01 ts=1748736120.0: too_frequent: 120.0s < 300.0s SOIL-B01 ts=1748736150.0: too_frequent: 150.0s < 300.0s SOIL-B01 ts=1748736180.0: too_frequent: 180.0s < 300.0s SOIL-B01 ts=1748736210.0: too_frequent: 210.0s < 300.0s SOIL-B01 ts=1748736240.0: too_frequent: 240.0s < 300.0s SOIL-B01 ts=1748736270.0: too_frequent: 270.0s < 300.0s SOIL-A02 ts=1748736300.0: ok WS-001 ts=1748736600.0: ok WS-001 ts=1748736900.0: ok SOIL-A01 ts=1748737200.0: ok
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199