Python成绩统计:计算学生平均分、课程平均分及最高分
Python成绩统计:计算学生平均分、课程平均分及最高分
本教程将引导您使用Python编写程序,处理10个学生6门课程的成绩数据。您将学习如何:
- 输入学生的每门课程成绩。- 计算并输出每个学生的平均分。- 计算并输出每门课程的平均分。- 找出所有分数中最高的分数,并确定其所属的学生和课程。
为了更好地组织代码,我们将使用函数来实现不同的功能模块。
代码实现pythondef 输入成绩(): '''输入10个学生6门课的成绩,存储到二维数组中''' scores = [] for i in range(10): student_scores = [] for j in range(6): score = float(input(f'请输入第{i+1}个学生第{j+1}门课的成绩:')) student_scores.append(score) scores.append(student_scores) return scores
def 计算学生平均分(scores): '''计算每个学生的平均分''' student_averages = [] for student_scores in scores: average = sum(student_scores) / len(student_scores) student_averages.append(average) return student_averages
def 计算课程平均分(scores): '''计算每门课程的平均分''' course_averages = [] for j in range(len(scores[0])): course_total = 0 for i in range(len(scores)): course_total += scores[i][j] average = course_total / len(scores) course_averages.append(average) return course_averages
def 找出最高分(scores): '''找出最高分及其对应的学生和课程''' max_score = scores[0][0] max_student = 1 max_course = 1 for i in range(len(scores)): for j in range(len(scores[0])): if scores[i][j] > max_score: max_score = scores[i][j] max_student = i + 1 max_course = j + 1 return max_score, max_student, max_course
主程序scores = 输入成绩()student_averages = 计算学生平均分(scores)course_averages = 计算课程平均分(scores)max_score, max_student, max_course = 找出最高分(scores)
print('每个学生的平均分:', student_averages)print('每门课程的平均分:', course_averages)print(f'最高分为:{max_score},来自第{max_student}个学生,第{max_course}门课')
代码解析
-
输入成绩函数: - 使用嵌套循环,逐个输入每个学生每门课程的成绩。 - 使用f-string格式化字符串,方便用户输入。 -
计算学生平均分函数: - 遍历二维数组scores的每一行,代表一个学生的成绩。 - 使用sum函数计算每行元素的总和,然后除以元素个数得到平均分。 -
计算课程平均分函数: - 遍历二维数组scores的每一列,代表一门课程的成绩。 - 使用嵌套循环计算每列元素的总和,然后除以行数得到平均分。 -
找出最高分函数: - 遍历整个二维数组,记录当前最大值以及对应的学生和课程索引。 - 返回最大值、学生索引加1、课程索引加1。 -
主程序: - 调用各个函数完成输入、计算和输出。 - 使用清晰的输出语句展示结果。
希望本教程能够帮助您理解如何使用Python进行简单的成绩统计分析。您可以根据实际需求修改代码,例如增加数据验证、排序等功能,以实现更复杂的分析任务。
原文地址: http://www.cveoy.top/t/topic/f4lz 著作权归作者所有。请勿转载和采集!