题解 | #成绩排序#

成绩排序

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
全部评论

相关推荐

争当牛马还争不上
码农索隆:1.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗? 那对老老实实面试的人岂不是不公平....
重生之我要干前端:放宽心,作弊很明显的,面试官也不是傻子,而且这世上更多的肯定是依靠自己的知识的人,所以放宽心提升自己最重要
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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