题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
先展示错误答案!!!因为用了字典,没有考虑可能存在得重复姓名得情况
n=int(input()) r=input() if r=='1': f=False else: f=True d={} for i in range(n): a,b=input().split(' ') d[a]=int(b) d1=list(d.items()) ds=sorted(d1,reverse=f,key=lambda x:x[1]) for i in range(n): print(str(ds[i][0])+' '+str(ds[i][1]))
下面是正确答案
n=int(input()) r=input() if r=='1': f=False else: f=True d=[]#不用字典,改为了列表 for i in range(n): a,b=input().split(' ') d.append((a,int(b))) ds=sorted(d,reverse=f,key=lambda x:x[1]) for i in range(n): print(ds[i][0]+' '+str(ds[i][1]))