py计算运动会某个参赛选手的得分。假设共有10个裁判,每个裁判给该选手打分(分数在0-10之间)后,去掉一个最高分和一个最低分之后的平均分即为该运动员的最后得分。某位选手的得分数据保存在文件中,文件的内容如下: 9.37 9.52 9.98 10 9.85 9.73 9.93 9.76 9.81 9.08 各数据之间使用一个空格分隔。请编写程序从文件中读取该选手的成绩并计算最后得分(保留2位小数)。
时间: 2023-12-10 11:38:21 浏览: 337
可以使用以下代码来解决这个问题:
```python
with open('score.txt', 'r') as f:
scores = [float(score) for score in f.readline().split()]
scores.remove(max(scores))
scores.remove(min(scores))
final_score = sum(scores) / len(scores)
print('最终得分为:{:.2f}'.format(final_score))
```
首先使用 `with open()` 语句打开文件并读取第一行的数据,然后使用 `split()` 方法将字符串按空格分隔成一个列表。接着使用列表推导式将字符串列表转换为浮点数列表。
然后使用 `remove()` 方法分别删除最高分和最低分,再使用 `sum()` 函数和 `len()` 函数计算平均分。最后使用格式化字符串输出最终得分,保留两位小数。
阅读全文