有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生的数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。 要求用一个input函数输入5 个学
时间: 2023-12-15 18:13:13 浏览: 68
生的数据,用一个output函数输出3门课总平均成绩以及最高分的学生的数据。
以下是示例代码:
```python
# 定义一个函数用于输入5个学生的数据
def input_data():
students = []
for i in range(5):
student = {}
student['id'] = input("请输入第{}个学生的学号:".format(i+1))
student['name'] = input("请输入第{}个学生的姓名:".format(i+1))
student['score1'] = float(input("请输入第{}个学生的第1门课的成绩:".format(i+1)))
student['score2'] = float(input("请输入第{}个学生的第2门课的成绩:".format(i+1)))
student['score3'] = float(input("请输入第{}个学生的第3门课的成绩:".format(i+1)))
students.append(student)
return students
# 定义一个函数用于输出3门课总平均成绩以及最高分的学生的数据
def output_data(students):
total_score1 = total_score2 = total_score3 = 0
max_score = 0
max_student = {}
for student in students:
total_score1 += student['score1']
total_score2 += student['score2']
total_score3 += student['score3']
total_score = student['score1'] + student['score2'] + student['score3']
if total_score > max_score:
max_score = total_score
max_student = student
avg_score1 = total_score1 / 5
avg_score2 = total_score2 / 5
avg_score3 = total_score3 / 5
print("3门课总平均成绩为:{:.2f} {:.2f} {:.2f}".format(avg_score1, avg_score2, avg_score3))
print("最高分的学生的数据为:学号:{} 姓名:{} 第1门课成绩:{:.2f} 第2门课成绩:{:.2f} 第3门课成绩:{:.2f} 平均分数:{:.2f}".format(
max_student['id'], max_student['name'], max_student['score1'], max_student['score2'], max_student['score3'], max_score/3))
# 主程序
students = input_data()
output_data(students)
```
运行程序后,依次输入5个学生的数据,即可得到3门课总平均成绩以及最高分的学生的数据。
阅读全文