输入10个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出最高的分数对应的学生和课程
时间: 2023-06-05 17:47:13 浏览: 378
好的,下面是中文回复:
1. 对于每个学生的成绩,可以用一个列表来存储,然后定义一个函数来计算平均分。具体实现可以参考以下代码:
```
# 输入10个学生5门课的成绩,存储在一个二维列表中
scores = [[80, 90, 70, 85, 95], [75, 85, 90, 80, 70], [90, 95, 80, 85, 75], [85, 80, 75, 90, 95], [70, 75, 80, 85, 90], [80, 85, 90, 75, 70], [90, 95, 80, 85, 75], [85, 80, 75, 90, 95], [70, 75, 80, 85, 90], [80, 85, 90, 75, 70]]
# 定义一个函数来计算每个学生的平均分
def avg_score_of_student(scores):
return sum(scores) / len(scores)
# 遍历二维列表,计算每个学生的平均分
for i in range(len(scores)):
avg_score = avg_score_of_student(scores[i])
print("第{}个学生的平均分是:{}".format(i+1, avg_score))
```
2. 对于每门课的成绩,可以先将二维列表进行转置,然后再用类似的方法计算平均分。具体实现可以参考以下代码:
```
# 将二维列表进行转置
transposed_scores = list(map(list, zip(*scores)))
# 定义一个函数来计算每门课的平均分
def avg_score_of_course(scores):
return sum(scores) / len(scores)
# 遍历转置后的二维列表,计算每门课的平均分
for i in range(len(transposed_scores)):
avg_score = avg_score_of_course(transposed_scores[i])
print("第{}门课的平均分是:{}".format(i+1, avg_score))
```
3. 要找出最高的分数对应的学生和课程,可以先遍历二维列表,找到最高的分数,然后再根据索引找到对应的学生和课程。具体实现可以参考以下代码:
```
# 遍历二维列表,找到最高的分数
max_score = 0
max_student = 0
max_course = 0
for i in range(len(scores)):
for j in range(len(scores[i])):
if scores[i][j] > max_score:
max_score = scores[i][j]
max_student = i+1
max_course = j+1
# 输出最高分数对应的学生和课程
print("最高分数是:{},对应的学生是第{}个,对应的课程是第{}门".format(max_score, max_student, max_course))
```
阅读全文