一个班上有 30名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。从键盘输入学生的学号、姓名及三门课的成绩。要求打印三门课程平均成绩最高分的学生记录
时间: 2024-10-16 08:12:44 浏览: 51
这是一个简单的数据处理问题,通常在编程中会涉及到数据结构如列表或数组,并通过遍历和比较找出满足条件的学生记录。我们可以创建一个包含学号、姓名和三门课程成绩的数据结构,比如Python中的字典或者类似的学生类实例,然后让用户输入新数据并更新已有学生的平均成绩。
下面是一个基础的Python示例:
```python
class Student:
def __init__(self, id, name):
self.id = id
self.name = name
self.grades = [None] * 3 # 存储三门课程的成绩
self.avg_grades = None # 平均成绩
def update_avg_grade(self):
total = sum(self.grades)
if total != 0:
self.avg_grades = total / 3
# 假设我们已经有了一个班级列表
students = []
for _ in range(30): # 假设已有的学生信息已经初始化
student_id = int(input("请输入学生学号:"))
student_name = input("请输入学生姓名:")
grades = list(map(int, input("请输入三门课程的成绩:").split()))
new_student = Student(student_id, student_name)
new_student.grades = grades
new_student.update_avg_grade()
students.append(new_student)
# 找出平均成绩最高的学生
max_avg_student = max(students, key=lambda x: x.avg_grades)
print(f"平均成绩最高的学生记录:\nID: {max_avg_student.id}\n姓名: {max_avg_student.name}\n平均成绩: {max_avg_student.avg_grades}")
阅读全文