题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1?tpId=40&tqId=21333&rp=1&ru=/ta/kaoyan&qru=/ta/kaoyan&difficulty=&judgeStatus=&tags=/question-ranking

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属性,判断先后顺序,排序时只需要先比较成绩再比较先后顺序即可。

全部评论

相关推荐

01-02 21:17
已编辑
西安理工大学 后端
程序员小白条:项目不太重要,你的优势的算法竞赛,然后多背相关的八股文,项目可以不作为重点考虑,面试可能就简单带过项目就行了,你可以直接写简历,背项目相关的八股文就行,也不用自己做,时间紧张的情况下,性价比最高
点赞 评论 收藏
分享
02-23 19:27
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务