Python 函数实现竞赛平均分计算:去除最高最低分

本文介绍使用 Python 函数 ScoreCalc 计算竞赛平均分,当参赛分数不超过 3 项时,直接计算平均分,否则去除最高分和最低分后计算平均分。附带代码解析和测试示例。

def ScoreCalc(*scores):
    sum_Scores = sum(scores)
    count = len(scores)
    if count <= 3:
        average_Scores = sum_Scores / count
    else:
        average_Scores = (sum_Scores - max(scores) - min(scores)) / (count - 2)
    return average_Scores

print('%4.1f' % ScoreCalc(85, 90, 91, 87, 88))  # 输出:88.2
print('%4.1f' % ScoreCalc(91, 95, 94))  # 输出:93.3

# 解析:
# 当传入的参数个数小于等于3时,直接计算平均分,否则需要去掉最高分和最低分再计算平均分。
# sum_Scores为总分数,count为参赛人数。
# 当count<=3时,平均分为总分数除以参赛人数。
# 当count>3时,平均分为总分数减去最高分和最低分后再除以参赛人数减2。

代码解析:

  1. 函数定义:def ScoreCalc(*scores): 定义一个名为 ScoreCalc 的函数,使用 *scores 接收任意数量的参赛分数作为参数。
  2. 计算总分和参赛人数:sum_Scores = sum(scores)count = len(scores) 分别计算所有分数的总和和参赛人数。
  3. 判断参赛分数数量:
    • if count <= 3: 当参赛分数数量小于等于 3 时,直接计算平均分:average_Scores = sum_Scores / count
    • else: 当参赛分数数量大于 3 时,去除最高分和最低分后计算平均分:average_Scores = (sum_Scores - max(scores) - min(scores)) / (count - 2)
  4. 返回平均分:return average_Scores 返回计算得到的平均分。
  5. 测试代码:使用 print('%4.1f' % ScoreCalc(...)) 打印两个测试示例的平均分。

总结:

该代码实现了根据参赛分数数量不同,采用不同方法计算竞赛平均分的逻辑。该函数简单易懂,易于扩展和维护,适用于各种竞赛评分场景。

Python 函数实现竞赛平均分计算:去除最高最低分

原文地址: https://www.cveoy.top/t/topic/oyaV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录