在跳水比赛中,单人跳水项目需要指定n名裁判员。在参赛选手跳完一个动作后,n名裁判员为选手打分,最低分是0分,最高分是10分,并且分数是0.5的整数倍。要计算选手这一跳的最后得分, 首先需要去掉一个最高分和一个最低分,然后将剩余n-2个分数的总和乘以选手这一跳的难度系数,再除以5,最后乘以3,所得的分数即该选手这一跳的最后得分。假设某参赛选手第一跳的难度系数是3.0,试着编写程序,根据n位评委的打分计算该选手某一跳的最后得分,成绩保留两位小数。如果收到的评分项与评委人数不等,则成绩无效。
输入:
评委打分列表
评委数量
输出:
去掉一个最高分和一个最低分后的总成绩
或者
本组成绩无效
示例:
输入:
[7.5,7,8,6.5,7.5,9,8.5]
7
输出:
69.30
解释:
去掉一个最高分9,一个最低分6.5,最后得分为:(((7.5+7+8+7.5+8.5)*3.0)/5)*3=69.30。
输入:
[7.5,7,8,6.25,7.5]
5
输出:
本组成绩无效。
解释:
输入的成绩6.25不是0.5的整数倍,成绩无效。
输入:
[7.5,7,8,6.5,7.5,9,8]
6
输出:
本组成绩无效。
解释:
输入的评分项与评委人数不等,成绩无效。
def totalScore(scores,n):
sum = 0
difficulty = 3.0
for score in scores:
if score >=0 and score <= 10 and score % 0.5 == 0 and len(scores) == n:
sum += score
else:
return "本组成绩无效。"
return f"{(((sum - min(scores) - max(scores)) * difficulty) / 5 * 3):.2f}"
scores = eval(input())
n = eval(input())
print(totalScore(scores,n))