描述 小理是个热爱生活的孩子。最近他在学校组织了校园歌手大赛,并且让全校师生为歌手评分(分数的范围为 1 - 100分),但由于投票系统太过于落后,小理在最后的计票中发现了如下几种票: 分数大于 100 分数小于 1 一个最高分 一个最低分 最终的计票要将上述几种票去除后算出平均值,请你求出最后的分数。
时间: 2024-03-25 14:40:41 浏览: 110
去掉一个最高分一个最低分,求平均值
5星 · 资源好评率100%
为了求出最后的平均分数,需要先过滤掉那些不合法的投票,然后再计算平均分数。具体的算法如下:
1. 读入所有的投票分数,并将其存储在一个列表中。
2. 遍历列表,将所有小于 1 或大于 100 的分数都从列表中删除。
3. 如果列表为空,则说明所有的投票都是不合法的,返回 0。
4. 如果列表不为空,则计算列表中所有分数的和,并将其除以列表长度得到平均分数。
下面是 Python 代码实现:
```python
scores = [90, 101, -5, 80, 120, 95, 110, 70]
# 过滤掉不合法的分数
scores = [score for score in scores if score >= 1 and score <= 100]
if not scores:
# 所有的分数都不合法
avg_score = 0
else:
# 计算平均分数
total_score = sum(scores)
avg_score = total_score / len(scores)
print(avg_score)
```
输出结果为 86.25。
阅读全文