输入用空格分隔的两个正整数n和m,表示后面要接收m个人的n门课的成绩的输入。随后的m行,每行输入用空格分隔的n个成绩。题目保证m和n都在(0-100]之间。请分行输出每门课的平均成绩。
时间: 2024-02-01 15:15:49 浏览: 167
编制一个程序,要求输入5个学生的学号、2门课的成绩,然后输出每个学生的学号、2门课成绩、平均成绩。
3星 · 编辑精心推荐
以下是Python3代码实现:
```python
n, m = map(int, input().split())
# 初始化每门课程的成绩总和为0
sum_score = [0] * n
# 依次接收每个人的成绩并累加到每门课程的成绩总和中
for i in range(m):
scores = list(map(int, input().split()))
for j in range(n):
sum_score[j] += scores[j]
# 计算每门课程的平均成绩并输出
for i in range(n):
print("%.2f" % (sum_score[i] / m))
```
其中,`map(int, input().split())`用于接收输入的两个正整数n和m,并将它们转换为整数类型,存储在n和m中。
接下来,我们初始化一个长度为n的列表`sum_score`,用于存储每门课程的成绩总和,初始值都为0。
然后,我们依次接收每个人的成绩,并将其累加到每门课程的成绩总和中。具体地,我们先使用`input().split()`接收一行成绩,然后使用`map(int, ...)`将其转换为整数列表`scores`。接着,我们使用两个循环依次遍历每门课程和每个人的成绩,并将其累加到相应的成绩总和中。
最后,我们使用一个循环计算每门课程的平均成绩,并使用`print`函数输出。由于需要保留两位小数,我们使用`"%.2f"`格式化字符串输出。
阅读全文