题解 | #成绩排序#python

成绩排序

https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1

import functools
# 升序 小到大
def ascend(a, b):
    if a[1] > b[1]:
        return 1
    elif a[1] < b[1]:
        return -1
    else:
        return 0
# 降序 大到小
def descent(a, b):
    if a[1] > b[1]:
        return -1
    elif a[1] < b[1]:
        return 1
    else:
        return 0

while True:
    try:
        n = int(input())
        mode = int(input())
        alist = []
        while n:
            user, grade = input().split()
            alist.append((user, int(grade)))
            n -= 1
            # 降序 大到小
        if mode == 0:
            alist.sort(key=functools.cmp_to_key(descent))
            # 升序 小到大
        elif mode == 1:
            alist.sort(key=functools.cmp_to_key(ascend))
        else:
            print("输入的排序方法有误")
        for item in alist:
            print(item[0], item[1])
    except:
        break

全部评论

相关推荐

赛博小保安:你这简历没啥大问题的,经历技能也足够了,问题应该就是出在出身了,学院本就是这样,HR忙着跟92的勾搭呢,哪有心思看我们这些双非😿😭
点赞 评论 收藏
分享
11-07 16:07
深圳大学 运营
前端飞升:学长,阿里不是卡双非吗,我深也能去吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务