3.有5个学生的数据记录,每个记录包括学号、姓名和3门课的成绩,从键盘输入5个学生的数据,要求输出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名和3门课程成绩、平均分数)。 要求:用一个print函数输出10个学生数据;用一个average函数求总平均分;用max函数找出最高分学生的数据;总平均分和最高分的学生的数据都在主函数中输出。
时间: 2023-06-09 09:06:55 浏览: 112
要求打印出3门课的平均成绩,以及平均成绩最高的学生的数据(包括学号、姓名、3
好的,我会回答你的问题,以下是代码实现:
def print_student_data(student_data):
for i in range(len(student_data)):
print("学号:{},姓名:{},成绩:{}, {}, {}".format(student_data[i][0], student_data[i][1], student_data[i][2], student_data[i][3], student_data[i][4]))
def average_score(student_data):
total_score = [0,0,0]
for i in range(len(student_data)):
total_score[0] += student_data[i][2]
total_score[1] += student_data[i][3]
total_score[2] += student_data[i][4]
average = [total_score[0]/len(student_data), total_score[1]/len(student_data), total_score[2]/len(student_data)]
return average
def find_highest_score_student(student_data):
highest_score = 0
highest_score_student = []
for i in range(len(student_data)):
total_score = student_data[i][2] + student_data[i][3] + student_data[i][4]
if total_score > highest_score:
highest_score = total_score
highest_score_student = student_data[i]
return highest_score_student
if __name__ == '__main__':
student_data = []
for i in range(5):
student_id = input("请输入学号:")
student_name = input("请输入姓名:")
score1 = float(input("请输入第一门成绩:"))
score2 = float(input("请输入第二门成绩:"))
score3 = float(input("请输入第三门成绩:"))
student_data.append([student_id, student_name, score1, score2, score3])
print_student_data(student_data)
average = average_score(student_data)
print("三门课的总平均成绩为:{}, {}, {}".format(average[0], average[1], average[2]))
highest_score_student = find_highest_score_student(student_data)
print("成绩最高的学生是:{},{},成绩为:{}, {}, {},平均分数为:{}".format(highest_score_student[0], highest_score_student[1], highest_score_student[2], highest_score_student[3], highest_score_student[4], (highest_score_student[2]+highest_score_student[3]+highest_score_student[4])/3))
阅读全文