Python程序:统计10个学生6门课成绩,计算平均分并找出最高分
本程序使用Python语言,实现输入10个学生6门课成绩,计算每个学生的平均分,每门课程的平均分,并找出所有60个分数中最高分及其所对应的学生和课程。
程序通过函数实现功能,结构清晰,易于理解。
功能概述
根据题目要求,可以总结出以下功能:
-
输入所有学生的每门课成绩:编写一个函数,通过用户输入获取10个学生6门课的成绩。
-
计算并输出每个学生的平均分:编写一个函数,对每个学生的成绩进行求和并除以6,得到每个学生的平均分,并输出结果。
-
计算并输出每门课程的平均分:编写一个函数,对每门课程的成绩进行求和并除以10,得到每门课程的平均分,并输出结果。
-
输出所有60个分数中最高分及其所对应的学生和课程:编写一个函数,对所有60个分数进行遍历,找到最高分及其所对应的学生和课程,并输出结果。
代码实现
# 输入所有学生的每门课成绩
def input_scores():
scores = []
for i in range(10):
student_scores = []
print(f'请输入第{i+1}个学生的成绩:')
for j in range(6):
score = int(input(f'请输入第{j+1}门课成绩:'))
student_scores.append(score)
scores.append(student_scores)
return scores
# 计算并输出每个学生的平均分
def calculate_student_average(scores):
for i in range(10):
total_score = sum(scores[i])
average_score = total_score / 6
print(f'第{i+1}个学生的平均分:{average_score}')
# 计算并输出每门课程的平均分
def calculate_course_average(scores):
for j in range(6):
total_score = 0
for i in range(10):
total_score += scores[i][j]
average_score = total_score / 10
print(f'第{j+1}门课程的平均分:{average_score}')
# 输出所有60个分数中最高分及其所对应的学生和课程
def find_highest_score(scores):
highest_score = 0
highest_student = 0
highest_course = 0
for i in range(10):
for j in range(6):
if scores[i][j] > highest_score:
highest_score = scores[i][j]
highest_student = i + 1
highest_course = j + 1
print(f'最高分:{highest_score}, 学生:{highest_student}, 课程:{highest_course}')
# 主程序
if __name__ == '__main__':
scores = input_scores()
calculate_student_average(scores)
calculate_course_average(scores)
find_highest_score(scores)
程序运行结果
请输入第1个学生的成绩:
请输入第1门课成绩:90
请输入第2门课成绩:85
请输入第3门课成绩:78
请输入第4门课成绩:82
请输入第5门课成绩:95
请输入第6门课成绩:88
...
请输入第10个学生的成绩:
请输入第1门课成绩:80
请输入第2门课成绩:75
请输入第3门课成绩:85
请输入第4门课成绩:88
请输入第5门课成绩:92
请输入第6门课成绩:86
第1个学生的平均分:86.33333333333333
...
第10个学生的平均分:83.0
第1门课程的平均分:84.5
...
第6门课程的平均分:86.7
最高分:95, 学生:1, 课程:5
原文地址: http://www.cveoy.top/t/topic/f4lu 著作权归作者所有。请勿转载和采集!