有5个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入5个学生数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。要求用一个input函数输入5个学生数据,用一个average函数求总平均分,用max函数求最高分学生数据。总平均分和最高分学生数据都在主函数中输出
时间: 2023-06-04 22:06:54 浏览: 199
好的,我明白了。以下是示例代码:
```python
def input_student_data():
student_list = []
for i in range(5):
student = {}
student['id'] = input("请输入第{}个学生的学号:".format(i+1))
student['name'] = input("请输入第{}个学生的姓名:".format(i+1))
student['grades'] = []
for j in range(3):
grade = float(input("请输入{}的{}科目成绩:".format(student['name'], j+1)))
student['grades'].append(grade)
student_list.append(student)
return student_list
def average_grades(student_list):
total = 0
for student in student_list:
total += sum(student['grades'])
average = total / (len(student_list) * 3)
return average
def max_grades_student(student_list):
max_student = None
max_grade = 0
for student in student_list:
grade_sum = sum(student['grades'])
if grade_sum > max_grade:
max_grade = grade_sum
max_student = student
return max_student
if __name__ == '__main__':
student_list = input_student_data()
average = average_grades(student_list)
max_student = max_grades_student(student_list)
print("三门课的总平均分:{:.2f}".format(average))
print("最高分学生的数据:")
print("学号:{}".format(max_student['id']))
print("姓名:{}".format(max_student['name']))
print("成绩:{}".format(max_student['grades']))
print("平均分数:{:.2f}".format(sum(max_student['grades'])/3))
```
如果您还有其他问题,请随时问我。
阅读全文