每门课程的教学成绩,现对每个班n名学生的几门课成绩进行如下处理: 通过自定义函数设计实现对某班期末C语言、计算机网络、数据库三门课程的成绩做统计处理,主要包括:显示每个学生的总分、平均分和每门课程的平均分。
时间: 2024-05-10 21:15:16 浏览: 126
好的,我可以给你提供一个Python代码示例来实现这个功能。
```python
def calc_scores(scores):
"""
输入:每个学生的C语言、计算机网络、数据库成绩,形如 [(s1_c, s1_net, s1_db), (s2_c, s2_net, s2_db), ...]
输出:每个学生的总分、平均分,每门课程的平均分
"""
n = len(scores)
total_scores = [[0, 0, 0] for _ in range(n)]
for i in range(n):
s = scores[i]
total_scores[i][0] = s[0] + s[1] + s[2]
total_scores[i][1] = total_scores[i][0] / 3
c_sum, net_sum, db_sum = 0, 0, 0
for s in scores:
c_sum += s[0]
net_sum += s[1]
db_sum += s[2]
c_avg = c_sum / n
net_avg = net_sum / n
db_avg = db_sum / n
for i in range(n):
print(f"学生{i+1}:总分={total_scores[i][0]:.2f},平均分={total_scores[i][1]:.2f}")
print(f"每门课程的平均分:C语言={c_avg:.2f},计算机网络={net_avg:.2f},数据库={db_avg:.2f}")
```
你可以调用这个函数来处理每个班的成绩数据,传入的参数是每个学生的成绩,形如 [(s1_c, s1_net, s1_db), (s2_c, s2_net, s2_db), ...]。函数会输出每个学生的总分、平均分,以及每门课程的平均分。
例如,如果某个班有三个学生,他们的成绩数据如下:
```python
scores = [(90, 80, 70), (85, 75, 80), (95, 90, 85)]
calc_scores(scores)
```
那么函数的输出结果如下:
```
学生1:总分=240.00,平均分=80.00
学生2:总分=240.00,平均分=80.00
学生3:总分=270.00,平均分=90.00
每门课程的平均分:C语言=90.00,计算机网络=81.67,数据库=78.33
```
阅读全文