邏輯演算法題
阿新 • • 發佈:2021-12-16
磁碟的容量單位有M、G、T,其關係為 1T = 1000G、1G = 1000M,
如樣例所示先輸入磁碟的個數,再依次輸入磁碟的容量大小,然後按照從小到大的順序對磁碟容量進行排序並輸出。
相同大小的先輸入的先輸出
輸入
3
20M
1T
300G
輸出
20M
300G
1T
------------------------------------------------------------------------------------------------------
import sys N = int(sys.stdin.readline().strip()) res = {} Mnum = 0 Gnum = 0 Tnum = 0 Anum = 0 for i in range(N): tmp = 0 Mnum =0 Gnum = 0 Tnum = 0 line = sys.stdin.readline().strip() for value in range(len(line)): if line[value] == 'M': Mnum += int(line[tmp:value]) tmp = value+1 if line[value] == 'G': Gnum += int(line[tmp:value]) tmp = value+1 if line[value] == 'T': Tnum += int(line[tmp:value]) tmp = value+1 Anum = Tnum*1024*1024 + Gnum*1024 + Mnum res[line] = Anum print("res = ", res) pri = sorted(res.items(), key=lambda x: x[1]) for i in range(len(pri)): print(pri[i][0])