class Student: def __init__(self, id: int, name: str = None, score: int = 0): self.name = name self.score = score self.id = id try : while True: count = int(input()) sortFunc = int(input()) students = [] for i in range(count): name, score = input().split() score = int(score) students.append(Student(i, name, score)) if sortFunc == 0: sortedStudents = sorted(students, key=lambda s: (-s.score, s.id)) else: sortedStudents = sorted(students, key=lambda s: (s.score, s.id)) for student in sortedStudents: print("{} {}".format(student.name, student.score)) except EOFError: print()
设计一个学生类,除了姓名和成绩属性之外,再加上一个id属性,判断先后顺序,排序时只需要先比较成绩再比较先后顺序即可。