Python题 假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉个最高分和一个最低分后该运动员的平均得分。 输入格式: 在一行中顺序输入10名裁判的打分,其间以1个空格分隔。 输出格式: 顺序输出最高分,最低分,平均分,保留3位小数,其间以1个空格分隔。 输入样例1: 8 0 8.5 8 7 7.5 9 9.5 8.5 10 输出样例1: 10.000 0.000 8.250
时间: 2024-02-18 08:06:19 浏览: 31
以下是 Python 的代码实现:
```python
scores = list(map(float, input().split()))
# 去掉最高分和最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 计算平均分,保留3位小数
avg_score = round(sum(scores) / len(scores), 3)
# 输出结果
print("{:.3f} {:.3f} {:.3f}".format(max(scores), min(scores), avg_score))
```
解释一下代码:
首先用 `input()` 函数读入 10 名裁判的打分,并且用 `map()` 函数将输入的字符串转换为浮点数类型,再用 `list()` 函数将其转换为列表类型。
然后使用 `max()` 和 `min()` 函数找到列表中的最高分和最低分,并将其从列表中移除。
接下来,用 `sum()` 函数求出剩下的分数之和,除以剩下的分数个数,得到平均分,并且用 `round()` 函数保留 3 位小数。
最后,用 `print()` 函数输出结果,其中 `"{:.3f}"` 表示保留 3 位小数的输出格式。