一个班上有30名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。从键盘输入学生的学号、姓名及三门课的成绩。要求打印三门课程平均成绩最高分的学生记录。
时间: 2023-04-27 15:03:46 浏览: 910
接收从键盘输入某班学生的学号、姓名、成绩,对学 生的成绩进行排序.zip
5星 · 资源好评率100%
首先,需要定义一个包含学号、姓名、三门课程成绩和平均成绩的记录类型。然后,可以使用循环语句和输入语句从键盘输入每个学生的信息,并计算每个学生的平均成绩。最后,可以使用条件语句找到平均成绩最高的学生记录并打印出来。
以下是一个示例代码:
```python
# 定义记录类型
class Student:
def __init__(self, id, name, score1, score2, score3, avg_score):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
self.avg_score = avg_score
# 初始化学生列表
students = []
for i in range(30):
id = input("请输入学生学号:")
name = input("请输入学生姓名:")
score1 = float(input("请输入第一门课程成绩:"))
score2 = float(input("请输入第二门课程成绩:"))
score3 = float(input("请输入第三门课程成绩:"))
avg_score = (score1 + score2 + score3) / 3
student = Student(id, name, score1, score2, score3, avg_score)
students.append(student)
# 找到平均成绩最高的学生记录
max_avg_score =
max_avg_student = None
for student in students:
if student.avg_score > max_avg_score:
max_avg_score = student.avg_score
max_avg_student = student
# 打印平均成绩最高的学生记录
print("平均成绩最高的学生记录:")
print("学号:", max_avg_student.id)
print("姓名:", max_avg_student.name)
print("第一门课程成绩:", max_avg_student.score1)
print("第二门课程成绩:", max_avg_student.score2)
print("第三门课程成绩:", max_avg_student.score3)
print("平均成绩:", max_avg_student.avg_score)
```
注意,以上代码仅为示例,实际应用中可能需要添加更多的输入检查和异常处理等功能。
阅读全文