小珅同学班上一共有 n 个同学每个同学依次编号为 12…n每个同学有一个分数。现在他请你帮忙做一份全班同学的成绩排名表。首先你需要按照分数从高到低将所有同学排序分数相同时编号小的更靠前。排好序后计算出每个同学的排名再按照每个同学编号的顺序依次输出每个同学的排名。代码
def rank(n, scores): rank_list = sorted(range(n), key=lambda x: (-scores[x], x+1)) return [rank_list.index(i)+1 for i in range(n)]
n = int(input()) scores = [int(x) for x in input().split()]
result = rank(n, scores) print(*result)
原文地址: https://www.cveoy.top/t/topic/hDER 著作权归作者所有。请勿转载和采集!