python计算平均成绩,而后按照平均成绩降序输出。
时间: 2023-12-01 14:43:43 浏览: 110
成绩排序(python)
5星 · 资源好评率100%
以下是Python计算平均成绩并按照平均成绩降序输出的代码:
```python
class Student:
def __init__(self, id, name, score1, score2):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
def __str__(self):
avg_score = round((self.score1 + self.score2) / 2,2)
return f"{self.id} {self.name} {self.score1} {self.score2} {avg_score}"
n = int(input())
students = []
for i in range(n):
id, name, score1, score2 = input().split()
student = Student(id, name, float(score1), float(score2))
students.append(student)
students.sort(key=lambda x: x.score1 + x.score2, reverse=True)
for student in students:
print(student)
```
代码解释:
1. 定义了一个`Student`类,包含学号、姓名、两门课的成绩和平均成绩。
2. 重写了`__str__`方法,用于设置输出格式。
3. 读入学生数量`n`,并循环读入每个学生的信息,创建`Student`对象并添加到`students`列表中。
4. 使用`sort`方法对`students`列表进行排序,排序规则为平均成绩降序。
5. 循环输出每个学生的信息,使用`print`函数输出。
阅读全文