题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

python3字典排序

思路

  • 用字典排序,分数为key 姓名为value
  • 考虑到会存在分数相同的同学,将姓名(append)保存到一个列表中
  • 将分数排序后,根绝列表从前往后打印value即可
    # 字典
    while True:
      try:
          dic = {}
          n = int(input())
          k = int(input())  
          for i in range(n):
              a,b = input().split()
              if int(b) in dic:
                  dic[int(b)].append(a)
              else:
                  dic[int(b)] = [a]
          if k == 0:
              res = sorted(dic,reverse=True)
              for i in res:
                  for j in range(len(dic[i])):
                      k = dic[i][j]
                      print(f'{k} {i}')
          else:
              res = sorted(dic)
              for i in res:
                  for j in range(len(dic[i])):
                      k = dic[i][j]
                      print(f'{k} {i}')
      except:
          break
    
    

```

全部评论

相关推荐

1 1 评论
分享
牛客网
牛客企业服务