250129 알고리즘(복습완료)

송용진·6일 전
0

알고리즘

목록 보기
172/173
class Student:
    def __init__(self, name, grade, score):
        self.name = name
        self.grade = grade
        self.score = score
        
    def __repr__(self):
        return f"Student(name='{self.name}, grade='{self.grade}', score='{self.score}')"
        
    def __lt__(self, other):
        if self.score != other.score:
            return self.score < other.score
        elif self.name != other.name:
            return self.name > other.name
        else:
            return self.grade < self.grade
student1 = Student(name='Bob', grade=2, score=90)
student2 = Student(name='Alice', grade=1, score=95)

이 경우, student1이 self로, student2가 other로 들어온다면

self.name은 'Bob'
other.name은 'Alice'

따라서 self.name > other.name의 비교는
'Bob'과 'Alice'를 비교하는 것이 되고, 이 결과는 True가 됨

profile
백엔드 개발자

0개의 댓글