python案例统计失误次数哪队更少?

wen python案例 2

Python案例:统计失误次数,哪队更少?

下面是一个完整的Python案例,用于统计两支队伍的失误次数并判断哪队更少。

python案例统计失误次数哪队更少?

案例1:基础版本

# 两支队伍的失误数据
team_a_errors = [2, 1, 3, 0, 2, 1, 4]  # A队每场失误次数
team_b_errors = [1, 2, 0, 1, 3, 2, 1]  # B队每场失误次数
# 计算总失误次数
total_a = sum(team_a_errors)
total_b = sum(team_b_errors)
# 计算平均失误
avg_a = total_a / len(team_a_errors)
avg_b = total_b / len(team_b_errors)
print(f"A队总失误: {total_a} 次,平均: {avg_a:.2f} 次/场")
print(f"B队总失误: {total_b} 次,平均: {avg_b:.2f} 次/场")
# 判断哪队更少
if total_a < total_b:
    print(f"✅ A队失误更少,比B队少 {total_b - total_a} 次")
elif total_b < total_a:
    print(f"✅ B队失误更少,比A队少 {total_a - total_b} 次")
else:
    print("🤝 两队失误次数相同")

输出:

A队总失误: 13 次,平均: 1.86 次/场
B队总失误: 10 次,平均: 1.43 次/场
✅ B队失误更少,比A队少 3 次

案例2:函数封装版(可复用)

def compare_errors(team_a, team_b, name_a="A队", name_b="B队"):
    """比较两队的失误次数"""
    total_a, total_b = sum(team_a), sum(team_b)
    avg_a = total_a / len(team_a)
    avg_b = total_b / len(team_b)
    print(f"{name_a}: 总失误 {total_a} 次,平均 {avg_a:.2f} 次/场")
    print(f"{name_b}: 总失误 {total_b} 次,平均 {avg_b:.2f} 次/场")
    if total_a < total_b:
        return f"{name_a}失误更少(少 {total_b - total_a} 次)"
    elif total_b < total_a:
        return f"{name_b}失误更少(少 {total_a - total_b} 次)"
    else:
        return "两队失误次数相同"
# 测试
team_a = [2, 1, 3, 0, 2, 1, 4]
team_b = [1, 2, 0, 1, 3, 2, 1]
print(compare_errors(team_a, team_b))

案例3:进阶版(字典存储 + 多队比较)

teams = {
    "A队": [2, 1, 3, 0, 2, 1, 4],
    "B队": [1, 2, 0, 1, 3, 2, 1],
    "C队": [3, 2, 1, 2, 1, 2, 2],
}
# 计算每队总失误并排序
stats = {name: sum(errors) for name, errors in teams.items()}
sorted_teams = sorted(stats.items(), key=lambda x: x[1])
print("=== 各队失误统计(从少到多)===")
for rank, (name, total) in enumerate(sorted_teams, 1):
    print(f"{rank}. {name}: {total} 次")
# 找出失误最少的队伍
best = sorted_teams[0]
print(f"\n🏆 失误最少: {best[0]},共 {best[1]} 次")

输出:

=== 各队失误统计(从少到多)===
1. B队: 10 次
2. C队: 13 次
3. A队: 13 次
🏆 失误最少: B队,共 10 次

涉及的核心知识点

知识点 说明
sum() 求列表元素总和(总失误)
len() 求元素个数(场次)
min() / sorted() 找出最小值 / 排序
dict 推导式 {k: sum(v) for k, v in ...}
lambda 作为排序的key函数

扩展到真实场景

如果需要从 Excel 或 CSV 读取数据:

import pandas as pd
df = pd.read_csv("match_stats.csv")  # 列: team, errors
stats = df.groupby("team")["errors"].sum().sort_values()
print(stats)
print(f"\n失误最少:{stats.index[0]}")

如果你有具体的数据格式(比如比赛记录、Excel表格),可以告诉我,我可以帮你写针对性的统计代码。

抱歉,评论功能暂时关闭!

友情链接攻略窝 · 礼包窝 · 配置窝 · 换算窝 · 算法窝 · 查文窝 · 手册窝 · 问答窝 · 全文搜 · 手册库
相关站点礼包窝 · 查文窝