题解 | #成绩排序#

成绩排序

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

import sys
items_len=0 # 记录列表长度
sort_flag=0 # 记录排序方式
items_count=0 # 计算读取有效分数个数
d=dict() # 存储有效分数和名字的字典
for line in sys.stdin:
    items=line.strip().split(' ')
    if len(items)==1:
        if items_len==0:
            items_len=int(items[0])
        else:
            sort_flag=int(items[0])
    else:
        if d.get(int(items[1])):# 以分数为键,名字为值列表追加的形式存储,保证分数相同输入顺序在前的先打印
            d.get(int(items[1])).append(items[0])
        else:
            d.update({int(items[1]):[items[0]]})
        items_count+=1
    if items and items_count==items_len:# 输入可以为空保证录入个数
        d=dict(sorted(d.items(),key=lambda _:_[0],reverse=False if sort_flag else True)) # 以分数排序
        for k,v in d.items():
            for j in v:
                print(j,k)
        d.clear() # 打印完清空字典
        items_len=0 # 打印完归0
        items_count=0 # 打印完归0
全部评论

相关推荐

05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
晗江雪:其实我只是觉得你们导员说的很好笑
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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