初级
统计服务失败率
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
request_logs_csv = open_url("https://data.zuihe.com/dbd/ms-shop/state_03/request_logs.csv").read()
import pandas as pd
from io import StringIO
logs = pd.read_csv(StringIO(request_logs_csv))
def calc_failure_rate(data, path=None):
if path: data = data[data['path']==path]
if len(data) == 0: return 0.0, 0, 0
total = len(data)
failed = (data['status_code'] >= 400).sum()
return round(failed/total, 4), int(failed), total
for path in logs['path'].unique():
rate, failed, total = calc_failure_rate(logs, path)
alert = ' [ALERT]' if rate > 0.1 else ''
print(f"{path}: {failed}/{total} = {rate:.1%}{alert}")
overall_rate, _, _ = calc_failure_rate(logs)
print(f"Overall: {overall_rate:.1%}")
示例
输入
solve()
期望输出
/api/v1/orders: 1/16 = 6.2% /api/v1/payments: 1/9 = 11.1% [ALERT] /api/v1/products: 0/7 = 0.0% /api/v1/search: 2/7 = 28.6% [ALERT] /api/v1/users: 3/11 = 27.3% [ALERT] Overall: 14.0%
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199