注意,用字典会报错,可能有重复的名字。用数组。排序的方法是一样的。

while True:
    try:
        m = int(input())
        n = int(input())
        lst = []
        for i in range(m):
            name,score = input().split()
            lst.append((name,int(score)))
        if n==0:
            flag=True
        else:
            flag = False
        m = sorted(lst, key = lambda item:item[1], reverse=flag)
        for i in m:
            print(i[0]+" "+str(i[1]))
    except:
        break