输入10个学生5门课的成绩,分别用函数实现下列功能: ①计算每个学生平均分; ②计算每门课的平均分; ③找出所有50个分数中最高的分数所对应的学生和课程
时间: 2023-06-11 16:10:22 浏览: 238
数据结构试验
以下是实现上述功能的 Python 代码:
```python
# 读入10个学生5门课的成绩
scores = [[0] * 5 for i in range(10)]
for i in range(10):
print("请输入第%d个学生的成绩:" % (i + 1))
for j in range(5):
scores[i][j] = int(input("第%d门课的成绩:" % (j + 1)))
# 计算每个学生平均分
def student_average(scores):
averages = []
for i in range(len(scores)):
average = sum(scores[i]) / len(scores[i])
averages.append(average)
print("第%d个学生的平均分为%.2f" % (i + 1, average))
return averages
# 计算每门课的平均分
def course_average(scores):
averages = []
for j in range(len(scores[0])):
total = 0
for i in range(len(scores)):
total += scores[i][j]
average = total / len(scores)
averages.append(average)
print("第%d门课的平均分为%.2f" % (j + 1, average))
return averages
# 找出最高分数所对应的学生和课程
def find_highest(scores):
max_score = max(max(scores))
for i in range(len(scores)):
for j in range(len(scores[0])):
if scores[i][j] == max_score:
print("最高分数为%d,对应的学生为%d,课程为%d" % (max_score, i + 1, j + 1))
# 调用函数计算平均分和最高分数
student_averages = student_average(scores)
course_averages = course_average(scores)
find_highest(scores)
```
运行代码后,可以依次输入每个学生5门课的成绩,然后会分别计算每个学生的平均分、每门课的平均分以及最高分数所对应的学生和课程,并输出结果。
阅读全文