初级
实现信号强度四级分级
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd
hb_csv = open_url("https://data.zuihe.com/dbd/ms-adlift/state_01/heartbeat_logs.csv").read()
hb = pd.read_csv(StringIO(hb_csv))
def grade(rssi):
if rssi >= -65: return 'excellent'
if rssi >= -75: return 'good'
if rssi >= -85: return 'fair'
return 'poor'
hb = hb.copy()
hb['grade'] = hb['signal_strength'].apply(grade)
dist = hb.groupby('grade').size(); total = len(hb)
print("Signal distribution:")
for g in ['excellent','good','fair','poor']:
c = dist.get(g,0)
print(" "+g+": "+str(c)+" ("+str(round(c/total*100,1))+"%)")
for v in [-55.0,-70.0,-82.0,-95.0]:
print(" "+str(v)+"dBm -> "+grade(v))
示例
输入
solve()
期望输出
Signal distribution: excellent: 2178 (48.1%) good: 1071 (23.6%) fair: 670 (14.8%) poor: 613 (13.5%) -55.0dBm -> excellent -70.0dBm -> good -82.0dBm -> fair -95.0dBm -> poor
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199