8. 编写一个程序,定义一个Student类,包含属性name和score。然后从标准输入中读入n个学生的姓名和成绩,创建n个Student对象并将它们存储在一个数组中。然后按照成绩从高到低的顺序排序数组,并将排序后的数组输出。
时间: 2024-03-12 14:49:25 浏览: 16
好的,这个问题和之前的问题是一样的,以下是一个示例程序,它实现了你所要求的功能:
```python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def __lt__(self, other):
return self.score > other.score
if __name__ == '__main__':
n = int(input())
students = []
for i in range(n):
name, score = input().split()
students.append(Student(name, int(score)))
students.sort()
for student in students:
print(student.name, student.score)
```
程序首先定义了一个Student类,它有两个属性name和score。然后从标准输入中读入n个学生的姓名和成绩,创建n个Student对象并将它们存储在一个数组中。接下来,程序使用Python内置的sort()方法,按照成绩从高到低的顺序对数组进行排序。最后,程序遍历排序后的数组,并将每个学生的姓名和成绩输出到标准输出。
注意,程序中的__lt__方法定义了Student类的比较方法,用于排序时按照学生成绩从高到低的顺序进行比较。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)