在一些比赛会有若干个评委给选手打分,评分规则是在评委给出的若干个分数中去掉一个最高分和一个最低分再计算平均分为选手得分,现在就让你写一个程序来代替这个复杂的工作吧。 输入格式为第一行输入一个整数n(3<=n<=20)为给出的分数个数,第二行给出n个大于等于0小于等于100的实数为分数。 输出格式为在一行分别输出得分,最低分,最高分。 两个数中间用一个空格分开。 得分四舍五入保留整数部分,最低分和最高分保留一位小数。
时间: 2024-03-16 22:41:01 浏览: 243
好的,这个问题很简单,我可以帮你解决。以下是 Python 代码实现:
```python
n = int(input()) # 输入n
scores = list(map(float, input().split())) # 输入n个分数,保存到列表中
# 去掉最高分和最低分后求平均分
avg = (sum(scores)-max(scores)-min(scores))/(n-2)
# 输出得分、最低分和最高分
print(round(avg), format(min(scores), ".1f"), format(max(scores), ".1f"))
```
输入样例:
```
5
98.5 92.0 100.0 85.5 90.0
```
输出样例:
```
91 85.5 100.0
```
相关问题
在一些比赛会有若干个评委给选手打分,评分规则是在评委给出的若干个分数中去掉一个最高分和一个最低分再计算平均分为选手得分,现在就让你写一个程序来代替这个复杂的工作吧。
好的,我来为您编写这个程序。以下是Python代码实现:
```python
def calculate_score(scores):
# 去掉最高分和最低分
scores.remove(max(scores))
scores.remove(min(scores))
# 计算平均分
avg_score = sum(scores) / len(scores)
return avg_score
```
使用方法:将评委给出的分数以列表形式传入函数 `calculate_score()`,函数将返回选手得分的平均值。
例如,如果评委给出的分数为 `[8, 9, 7, 6, 9]`,则调用 `calculate_score([8, 9, 7, 6, 9])` 将返回选手得分的平均值 `7.666666666666667`。
希望对您有所帮助!
python在某个演讲比赛中,若干评委要给选手评分,评分规则是去掉一个最高分和一个最低分,求出剩下分数的平均分。 输入格式: 若干个评委的打分,分数之间有一个空格,打分是可以带有小数部分的。
在Python中,处理这种场景通常可以使用列表推导式和内置函数。首先,你需要读取评委的打分并存储在一个列表中。然后,你可以通过以下步骤计算平均分:
1. 使用`split()`函数将输入字符串按空格分割成评委分数的列表。
2. 使用列表推导式去掉最高分和最低分,这里假设`sorted()`函数可以排序整个列表。
3. 计算剩余分数的总和,并除以评委的数量减去2得到平均分。
下面是一个简单的示例代码片段:
```python
def calculate_average_score(scores):
# 假设scores是从用户输入获取的字符串
scores_str = input("请输入评委打分,分数间用空格隔开: ")
scores_list = [float(score) for score in scores_str.split()]
# 去掉最高分和最低分
max_score = max(scores_list)
min_score = min(scores_list)
valid_scores = [score for score in scores_list if score != max_score and score != min_score]
# 计算并返回平均分
average = sum(valid_scores) / (len(valid_scores) - 2)
return average
# 调用函数并打印结果
average = calculate_average_score()
print(f"剩下的平均分为: {average}")
```
阅读全文