用python写出去掉最高分与最低分求平均值
时间: 2023-10-01 22:05:56 浏览: 125
好的,以下是Python代码实现:
```
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 样本数据,可替换为任何列表
nums.remove(max(nums)) # 去掉最高分
nums.remove(min(nums)) # 去掉最低分
avg = sum(nums) / len(nums) # 求平均值
print("平均值为:", avg)
```
以上代码会输出去掉最高分与最低分后的平均值。
相关问题
用python,写出5位评委给选手打分,去掉最高分和最低分求平均值,多种方法
求平均值的代码如下:
方法一:
```python
scores = [8.7, 9.2, 7.8, 8.5, 9.1]
scores.remove(max(scores)) # 去掉最高分
scores.remove(min(scores)) # 去掉最低分
avg_score = sum(scores) / len(scores)
print(avg_score) # 输出平均分
```
方法二:
```python
scores = [8.7, 9.2, 7.8, 8.5, 9.1]
sorted_scores = sorted(scores)[1:-1] # 去掉最高分和最低分
avg_score = sum(sorted_scores) / len(sorted_scores)
print(avg_score) # 输出平均分
```
方法三:
```python
scores = [8.7, 9.2, 7.8, 8.5, 9.1]
max_index = scores.index(max(scores)) # 找到最高分的下标
min_index = scores.index(min(scores)) # 找到最低分的下标
scores.pop(max_index) # 去掉最高分
scores.pop(min_index) # 去掉最低分
avg_score = sum(scores) / len(scores)
print(avg_score) # 输出平均分
```
方法四:
```python
scores = [8.7, 9.2, 7.8, 8.5, 9.1]
max_score = max(scores)
min_score = min(scores)
scores_without_max_min = [score for score in scores if score != max_score and score != min_score] # 去掉最高分和最低分
avg_score = sum(scores_without_max_min) / len(scores_without_max_min)
print(avg_score) # 输出平均分
```
方法五:
```python
scores = [8.7, 9.2, 7.8, 8.5, 9.1]
scores.sort()
scores = scores[1:-1] # 去掉最高分和最低分
avg_score = sum(scores) / len(scores)
print(avg_score) # 输出平均分
```
希望能够满足您的需求,如果有任何问题,欢迎随时向我提问。
在某个演讲比赛中,若干评委要给选手评分,评分规则是去掉一个最高分和一个最低分,求出剩下分数的平均分。 输入格式: 若干个评委的打分,分数之间有一个空格,打分是可以带有小数部分的。 输出格式: 最高分、最低分、平均分均保留两位小数.请你用python写出这个程序
在Python中,你可以使用列表来存储评委的打分,然后通过内置函数计算最高分、最低分和平均分。这里是一个简单的解决方案:
```python
def calculate_scores(scores_string):
# 将字符串转换成包含整数或浮点数的列表
scores = list(map(float, scores_string.split()))
# 按照默认升序排列得分
sorted_scores = sorted(scores)
# 取出最高分和最低分
max_score = sorted_scores[-1]
min_score = sorted_scores[0]
# 去掉最高分和最低分,再计算剩余分数的平均值
valid_scores = sorted_scores[1:-1]
average_score = sum(valid_scores) / len(valid_scores)
# 返回结果,保留两位小数
return round(max_score, 2), round(min_score, 2), round(average_score, 2)
# 使用示例
scores_input = input("请输入评委的打分,例如:95 88 92 76 89")
max_score, min_score, avg_score = calculate_scores(scores_input)
print(f"最高分:{max_score},最低分:{min_score},平均分:{avg_score}")
```
当你运行这个程序并输入评委的打分时,它会按照规则计算并显示最高分、最低分和平均分。
阅读全文