有一个班4个学生,5门课。①求第1门课的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个函数实现
时间: 2023-06-05 11:47:23 浏览: 251
1. 第1门课的平均分可以这样求:
```python
def avg_score_of_course1(scores):
return sum(scores[0]) / len(scores[0])
```
其中,`scores` 是一个二维列表,表示每个学生的成绩。`scores[0]` 表示第1门课的成绩列表,`sum(scores[0])` 求和,`len(scores[0])` 求长度,两者相除即为平均分。
2. 有两门以上课程不及格的学生可以这样找出:
```python
def find_failed_students(scores):
failed_students = []
for i in range(len(scores)):
failed_courses = 0
for j in range(len(scores[i])):
if scores[i][j] < 60:
failed_courses += 1
if failed_courses >= 2:
total_score = sum(scores[i])
avg_score = total_score / len(scores[i])
failed_students.append((i+1, scores[i], avg_score))
return failed_students
```
其中,`scores` 是一个二维列表,表示每个学生的成绩。`failed_students` 是一个列表,用于存储有两门以上课程不及格的学生的信息。`i` 表示学生的编号,从1开始。`j` 表示课程的编号,从0开始。如果成绩小于60分,`failed_courses` 加1。如果 `failed_courses` 大于等于2,说明该学生有两门以上课程不及格,计算总成绩和平均成绩,并将学生的编号、全部课程成绩和平均成绩存入 `failed_students` 列表中。
3. 平均成绩在90分以上或全部课程成绩在85分以上的学生可以这样找出:
```python
def find_excellent_students(scores):
excellent_students = []
for i in range(len(scores)):
total_score = sum(scores[i])
avg_score = total_score / len(scores[i])
if avg_score >= 90 or min(scores[i]) >= 85:
excellent_students.append((i+1, scores[i], avg_score))
return excellent_students
```
其中,`scores` 是一个二维列表,表示每个学生的成绩。`excellent_students` 是一个列表,用于存储平均成绩在90分以上或全部课程成绩在85分以上的学生的信息。`i` 表示学生的编号,从1开始。计算总成绩和平均成绩,并判断是否符合条件。如果符合条件,将学生的编号、全部课程成绩和平均成绩存入 `excellent_students` 列表中。
阅读全文