磁盘容量排序

标题:磁盘容量排序 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
磁盘的容量单位常用的有M,G,T这三个等级,它们之间的换算关系为1T = 1024G,1G = 1024M,现在给定n块磁盘的容量,请对它们按从小到大的顺序进行稳定排序,例如给定5块盘的容量,1T,20M,3G,10G6T,3M12G9M排序后的结果为20M,3G,3M12G9M,1T,10G6T。注意单位可以重复出现,上述3M12G9M表示的容量即为3M+12G+9M,和12M12G相等。
import re

num = int(input())
array = []


def a(s):
    count = 0
    t = re.findall('(\d+)(M|G|T)', s)
    if len(t) > 0:
        for v in t:
            if v[1] == 'M':
                count = int(v[0]) + count
            elif v[1] == 'G':
                count = int(v[0]) * 1024 + count
            elif v[1] == 'T':
                count = count + int(v[0]) * 1024 * 1024
        return count
    else:
        return 0


for i in range(num):
    h = input()
    array.append((a(h), h))


array = sorted(array, key=lambda x : x[0])

for i in array:
    print(i[1])




全部评论

相关推荐

程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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