Python 函数实现竞赛平均分计算:去除最高最低分
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。
代码解析:
- 函数定义:
def ScoreCalc(*scores):定义一个名为ScoreCalc的函数,使用*scores接收任意数量的参赛分数作为参数。 - 计算总分和参赛人数:
sum_Scores = sum(scores)和count = len(scores)分别计算所有分数的总和和参赛人数。 - 判断参赛分数数量:
if count <= 3:当参赛分数数量小于等于 3 时,直接计算平均分:average_Scores = sum_Scores / count。else:当参赛分数数量大于 3 时,去除最高分和最低分后计算平均分:average_Scores = (sum_Scores - max(scores) - min(scores)) / (count - 2)。
- 返回平均分:
return average_Scores返回计算得到的平均分。 - 测试代码:使用
print('%4.1f' % ScoreCalc(...))打印两个测试示例的平均分。
总结:
该代码实现了根据参赛分数数量不同,采用不同方法计算竞赛平均分的逻辑。该函数简单易懂,易于扩展和维护,适用于各种竞赛评分场景。
原文地址: https://www.cveoy.top/t/topic/oyaV 著作权归作者所有。请勿转载和采集!