以下是一个示例代码来实现题目要求的功能:
students = []
class Student:
def __init__(self, name, score1, score2, score3):
self.name = name
self.scores = [score1, score2, score3]
self.average = sum(self.scores) / len(self.scores)
def get_grade(self):
if self.average >= 90:
return "A"
elif self.average >= 80:
return "B"
elif self.average >= 70:
return "C"
elif self.average >= 60:
return "D"
else:
return "F"
# 添加学生信息
student1 = Student("Alice", 85, 92, 78)
student2 = Student("Bob", 90, 88, 94)
student3 = Student("Charlie", 76, 85, 92)
students.append(student1)
students.append(student2)
students.append(student3)
# 按照平均分降序排序
students.sort(key=lambda x: x.average, reverse=True)
# 打印学生数据
for student in students:
print("姓名:", student.name)
print("平均分:", student.average)
print("等级:", student.get_grade())
print()
输出结果为:
姓名: Bob
平均分: 90.66666666666667
等级: A
姓名: Alice
平均分: 85.0
等级: B
姓名: Charlie
平均分: 84.33333333333333
等级: B