假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。根据这段描述编写代码
时间: 2024-05-09 21:22:08 浏览: 17
好的,根据你的描述,以下是对应的Python代码:
```python
n, m = map(int, input().split()) # 输入班级人数和考试科目数
scores = [] # 记录每个学生的各门成绩
for i in range(n):
scores.append(list(map(int, input().split()))) # 输入每个学生的成绩
avg_stu_scores = [] # 记录每个学生的平均成绩
for i in range(n):
avg_stu_scores.append(sum(scores[i]) / m)
avg_sub_scores = [] # 记录每门科目的平均成绩
for j in range(m):
sub_scores = [scores[i][j] for i in range(n)] # 提取该科目的成绩列表
avg_sub_scores.append(sum(sub_scores) / n)
count = 0 # 统计各科成绩均大于等于平均成绩的学生数量
for i in range(n):
if all(scores[i][j] >= avg_sub_scores[j] for j in range(m)):
count += 1
print(' '.join(str(round(score, 2)) for score in avg_stu_scores)) # 输出每个学生的平均成绩
print(' '.join(str(round(score, 2)) for score in avg_sub_scores)) # 输出每门科目的平均成绩
print(count) # 输出各科成绩均大于等于平均成绩的学生数量
```
希望这个代码能帮到你!在后续的对话中,如果你有其他问题,也可以随时问我~