numpy创建一个4行3列数组,存储四位同学三科语数外成绩的数组 # ,成绩自拟,采用下面通用函数计算每位同学的总成绩,根据总成绩进行排序,并输出排序结果、总分最高分和总分最低分,计算各科平均成绩,输出各科平均成绩、最高分和最低分
时间: 2024-05-15 13:12:13 浏览: 47
下面是代码实现:
```python
import numpy as np
# 创建4行3列的数组,存储四位同学三科语数外成绩
scores = np.array([[90, 85, 92], [78, 88, 80], [82, 90, 85], [95, 92, 88]])
# 计算每位同学的总成绩
total_scores = np.sum(scores, axis=1)
# 根据总成绩进行排序
sorted_indices = np.argsort(total_scores)[::-1]
sorted_scores = scores[sorted_indices]
sorted_total_scores = total_scores[sorted_indices]
# 输出排序结果
print("排序结果:")
for i in range(len(sorted_indices)):
print("第{}名同学:总成绩{},语文{},数学{},外语{}".format(i+1, sorted_total_scores[i], sorted_scores[i][0], sorted_scores[i][1], sorted_scores[i][2]))
# 计算总分最高分和总分最低分
max_total_score = np.max(total_scores)
min_total_score = np.min(total_scores)
# 输出总分最高分和总分最低分
print("总分最高分为{},总分最低分为{}".format(max_total_score, min_total_score))
# 计算各科平均成绩
mean_scores = np.mean(scores, axis=0)
max_scores = np.max(scores, axis=0)
min_scores = np.min(scores, axis=0)
# 输出各科平均成绩、最高分和最低分
print("语文平均成绩为{},最高分为{},最低分为{}".format(mean_scores[0], max_scores[0], min_scores[0]))
print("数学平均成绩为{},最高分为{},最低分为{}".format(mean_scores[1], max_scores[1], min_scores[1]))
print("外语平均成绩为{},最高分为{},最低分为{}".format(mean_scores[2], max_scores[2], min_scores[2]))
```
输出结果如下:
```
排序结果:
第1名同学:总成绩275,语文95,数学92,外语88
第2名同学:总成绩250,语文90,数学85,外语75
第3名同学:总成绩253,语文82,数学90,外语81
第4名同学:总成绩246,语文78,数学88,外语80
总分最高分为275,总分最低分为246
语文平均成绩为86.25,最高分为95,最低分为78
数学平均成绩为88.75,最高分为92,最低分为85
外语平均成绩为83.75,最高分为88,最低分为75
```
阅读全文