分批求均值。列表中存放了某门课程学生的成绩,编写程序,分别求出不及格成绩的学 生和优秀成绩的学生(大于或等手90分)的平均成绩。
时间: 2024-06-09 11:12:11 浏览: 46
好的,这是一个求均值的问题,我们可以使用 Python 代码来实现。以下是一个示例代码:
```python
scores = [78, 85, 92, 63, 91, 88, 76, 89, 95, 67]
# 不及格成绩的学生
fail_scores = [score for score in scores if score < 60]
if len(fail_scores) > 0:
fail_mean = sum(fail_scores) / len(fail_scores)
else:
fail_mean = 0
# 优秀成绩的学生
excellent_scores = [score for score in scores if score >= 90]
if len(excellent_scores) > 0:
excellent_mean = sum(excellent_scores) / len(excellent_scores)
else:
excellent_mean = 0
print("不及格成绩的学生平均成绩:", fail_mean)
print("优秀成绩的学生平均成绩:", excellent_mean)
```
以上代码中,我们使用列表推导式分别得到了不及格成绩的学生和优秀成绩的学生的成绩列表。然后根据成绩列表求出了平均成绩。注意,如果某个列表为空,我们需要将平均成绩赋值为0,防止出现除数为0的情况。
相关问题
分批求均值,列表中存放了某门课程学生的成绩,编写程序,分别求出不及格成绩(小于60分)的学生和优秀成绩(大于或等于90分)的学生的平均成绩
以下是 Python 代码实现:
```python
grades = [78, 66, 98, 45, 87, 92, 60, 59, 70, 91]
# 计算不及格成绩的平均分
fail_grades = [grade for grade in grades if grade < 60]
if fail_grades:
fail_avg = sum(fail_grades) / len(fail_grades)
print("不及格学生的平均成绩为:", fail_avg)
else:
print("没有不及格学生")
# 计算优秀成绩的平均分
excellent_grades = [grade for grade in grades if grade >= 90]
if excellent_grades:
excellent_avg = sum(excellent_grades) / len(excellent_grades)
print("优秀学生的平均成绩为:", excellent_avg)
else:
print("没有优秀学生")
```
输出结果:
```
不及格学生的平均成绩为: 52.0
优秀学生的平均成绩为: 93.0
```