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 19:06:19 浏览: 64
以下是 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 位小数的输出格式。
相关问题
某市举行一场歌咏比赛,需要编写一个歌手打分程序,输入七名评委的打分,0到10分,去掉一个最低分,去掉一个最高分,输出该选手的得分为平均分,用python写
以下是Python编写的歌手打分程序,可以实现输入七名评委的打分,去掉一个最低分和一个最高分,输出该选手的得分为平均分:
```python
scores = []
for i in range(7):
score = float(input("请输入评委{}的打分:".format(i+1)))
scores.append(score)
scores.sort()
total_score = sum(scores[1:6])
average_score = total_score / 5
print("该选手的得分为:{:.2f}".format(average_score))
```
运行程序后,依次输入七名评委的打分,程序会自动去掉一个最低分和一个最高分,计算出该选手的得分为平均分,并输出结果。
阅读全文