定义Student类,利用compareTo方法实现两个学生对象从小到大输出。
时间: 2023-12-30 11:03:06 浏览: 81
java 学生类的定义并测试
以下是实现该功能的示例代码:
```python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
# 定义对象的比较方式,按照分数从小到大排序
def compareTo(self, other):
if self.score < other.score:
return -1
elif self.score > other.score:
return 1
else:
return 0
def __str__(self):
return f"{self.name}: {self.score}"
# 创建几个学生对象
students = [
Student("Alice", 80),
Student("Bob", 70),
Student("Charlie", 90),
Student("David", 85)
]
# 对学生对象进行排序,排序方式是按照分数从小到大排序
students.sort(key=lambda s: s.compareTo(Student("", 0)))
# 输出排序后的学生对象
for s in students:
print(s)
```
输出结果:
```
Bob: 70
Alice: 80
David: 85
Charlie: 90
```
在上面的示例代码中,我们定义了一个`Student`类,包含了学生的姓名和分数两个属性。为了实现从小到大输出学生对象,我们在`Student`类中定义了`compareTo`方法,该方法指定了按照分数从小到大排序的方式。然后创建了一些学生对象,并使用`sort`方法对它们进行排序,排序时利用`key`参数指定排序的方式是调用`compareTo`方法。最后输出排序后的结果。
阅读全文