某地组织了一场歌手比赛,每个歌手的得分由10名评委和观众决定,最终得分的规则是去掉10名评委的最高、最低分后的平均值。某位选手的得分数据保存在文件中,文件内容如下: 9.37、9.52、9.98、10、9.85、9.73、9.93、9.76、9.81、9.08。各数据之间使用一个空格分隔。请编写程序从文件中读取该歌手的成绩并计算最后得分。
时间: 2023-08-07 09:06:47 浏览: 111
某省歌手大赛评分系统
4星 · 用户满意度95%
好的,我可以帮你解决这个问题。以下是 Python 代码实现:
```python
# 读取文件内容
with open('score.txt', 'r') as f:
scores = f.read().strip().split(' ')
# 将字符串类型的分数转换为浮点型
scores = list(map(float, scores))
# 去掉最高分和最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 计算平均分并保留两位小数
avg_score = round(sum(scores) / len(scores), 2)
print('最终得分为:', avg_score)
```
注意,这里使用了 Python 内置的 `open` 函数来读取文件,`strip` 方法去掉了每个分数字符串中的空格和换行符,`split` 方法则将分数字符串按照空格拆分成一个列表。接着使用 `map` 函数将列表中的每个字符串转换为浮点型,并使用 `remove` 方法去掉最高分和最低分。最后使用 `sum` 和 `len` 函数计算平均分,并使用 `round` 函数保留两位小数。
阅读全文