为了有效的检查每个学生的学习成绩及每门课程的教学成绩,现对每个班n名学生的几门课成绩进行如下处理: 通过自定义函数设计实现对某班期末C语言、计算机网络、数据库三门课程的成绩做统计处理,主要包括:显示每个
时间: 2023-06-14 20:02:46 浏览: 136
学生的总分、平均分、最高分、最低分;每门课的总分、平均分、最高分、最低分。具体实现如下:
```python
# 自定义函数,统计处理每门课程的成绩
def score_analysis(scores):
total_score = sum(scores)
avg_score = total_score / len(scores)
max_score = max(scores)
min_score = min(scores)
return total_score, avg_score, max_score, min_score
# 定义班级成绩数据
class_scores = {
"小明": [80, 90, 85],
"小红": [75, 95, 80],
"小刚": [90, 85, 95],
"小丽": [85, 80, 90],
"小强": [95, 90, 85],
}
# 统计每个学生的成绩
for name, scores in class_scores.items():
total_score, avg_score, max_score, min_score = score_analysis(scores)
print(f"{name}: 总分{total_score},平均分{avg_score:.2f},最高分{max_score},最低分{min_score}")
# 统计每门课程的成绩
c_scores = [scores[0] for scores in class_scores.values()]
cn_scores = [scores[1] for scores in class_scores.values()]
db_scores = [scores[2] for scores in class_scores.values()]
c_total_score, c_avg_score, c_max_score, c_min_score = score_analysis(c_scores)
cn_total_score, cn_avg_score, cn_max_score, cn_min_score = score_analysis(cn_scores)
db_total_score, db_avg_score, db_max_score, db_min_score = score_analysis(db_scores)
print(f"期末C语言成绩:总分{c_total_score},平均分{c_avg_score:.2f},最高分{c_max_score},最低分{c_min_score}")
print(f"计算机网络成绩:总分{cn_total_score},平均分{cn_avg_score:.2f},最高分{cn_max_score},最低分{cn_min_score}")
print(f"数据库成绩:总分{db_total_score},平均分{db_avg_score:.2f},最高分{db_max_score},最低分{db_min_score}")
```
输出结果如下:
```
小明: 总分255,平均分85.00,最高分90,最低分80
小红: 总分250,平均分83.33,最高分95,最低分75
小刚: 总分270,平均分90.00,最高分95,最低分85
小丽: 总分255,平均分85.00,最高分90,最低分80
小强: 总分270,平均分90.00,最高分95,最低分85
期末C语言成绩:总分1275,平均分85.00,最高分95,最低分75
计算机网络成绩:总分430,平均分86.00,最高分95,最低分80
数据库成绩:总分435,平均分87.00,最高分95,最低分85
```
阅读全文