以下是一个示例的解决方法,用于按专业划分并计算平均成绩较高的学生:
# 假设有一个学生数据集合 students,包含学生的姓名、专业和成绩
students = [
{'name': '张三', 'major': '数学', 'score': 90},
{'name': '李四', 'major': '数学', 'score': 95},
{'name': '王五', 'major': '计算机科学', 'score': 85},
{'name': '赵六', 'major': '计算机科学', 'score': 92},
{'name': '钱七', 'major': '物理', 'score': 88},
{'name': '孙八', 'major': '物理', 'score': 90},
]
# 创建一个空字典,用于存储每个专业的总成绩和学生人数
major_scores = {}
# 遍历学生数据集合,按专业统计总成绩和学生人数
for student in students:
major = student['major']
score = student['score']
if major in major_scores:
major_scores[major]['total_score'] += score
major_scores[major]['student_count'] += 1
else:
major_scores[major] = {'total_score': score, 'student_count': 1}
# 创建一个空字典,用于存储每个专业的平均成绩
average_scores = {}
# 遍历每个专业的总成绩和学生人数,计算平均成绩
for major, scores in major_scores.items():
total_score = scores['total_score']
student_count = scores['student_count']
average_score = total_score / student_count
average_scores[major] = average_score
# 找到平均成绩最高的专业
max_average_score = max(average_scores.values())
top_major = [major for major, score in average_scores.items() if score == max_average_score]
# 输出结果
print("平均成绩最高的专业是:", top_major)
print("平均成绩:", max_average_score)
这个示例代码中,首先创建了一个空字典major_scores
来存储每个专业的总成绩和学生人数。然后通过遍历学生数据集合,在major_scores
字典中进行累加计算。接着,创建另一个空字典average_scores
来存储每个专业的平均成绩。再次遍历major_scores
字典,计算每个专业的平均成绩,并存储在average_scores
字典中。最后,通过比较average_scores
字典的值,找到平均成绩最高的专业。输出结果为平均成绩最高的专业和对应的平均成绩。
下一篇:按住程序中的返回按钮