磁碟的容量單位有m、g、t,其關係為 1t = 1000g、1g = 1000m,如樣例所示先輸入磁碟的個數,再依次輸入磁碟的容量大小,然後按照從小到大的順序對磁碟容量進行排序並輸出。
例如:
輸入:3
20m
1t
300g
輸出:20m
300g
1t
解法:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""array = [0] * 5
for i in range(0, len(array)):
print(array[i], end=" ")
print("")
for e in array:
print(e, end=" ")
print("")
array = [x+1 for x in range(10)]
print(array)
"""def
convert_ele
(e):
e_len =
len(e)
e_last = e[e_len -1]
if e_last.upper()==
"m":
return
int(e[
:e_len-1]
)elif e_last.lower()==
"g":
return
int(e[
:e_len -1]
)*1000
elif e_last.lower()==
"t":
return
int(e[
:e_len -1]
)*1000
*1000
# print("convert ele error!!!")
return
0if __name__ ==
"__main__"
:print
("input: 3 20m 1t 300g"
) array_input =
input_nr=
input
("please number: "
)for i in
range
(int
(input_nr)):
input_ele=
input
("please number {}: "
.format
(i+1))
array =[0
]*int(input_nr)
for i in
range(0
,len
(array_input)):
array[i]
= convert_ele(array_input[i]
) array_index =
[x for x in
range(0
,len
(array))]
for i in
range(0
,len
(array)):
for j in
range
(i+1
,len
(array)):
if array[j]
< array[i]
: array[i]
, array[j]
= array[j]
, array[i]
array_index[i]
, array_index[j]
= array_index[j]
, array_index[i]
for i in array_index:
print
(array_input[i]
)
華為OD機試 磁碟容量排序
今天參加華為od機試,總共有兩道機試題,每道題200分,總共400分,華為那邊要求是兩道題全過。第一道題是磁碟容量排序,其實挺簡單的,但我一直沒除錯好,導致心態直接崩了,後面第二題也沒看,看來以後要好好刷題才行。目錄磁碟的容量單位有m g t,其關係為 1t 1000g 1g 1000m,如樣例所示...
華為筆試題
int a nsize 其中隱藏著若干 0,其餘非 0整數,寫乙個函式 int func int a,int nsize 使a 把0移至後面,非 0整數移至 陣列前面並保持有序,返回值為原資料中第乙個元素為0 的下標。盡可能不使用輔助空間且考慮效率及異常問題,注釋規範且給出設計思路 include ...
華為筆試題
某軟體需要實現建議的cd key演算法,輸入3個正整數,以空格隔開,根據這3個整數生成cd key字串,輸出格式 x x x xxyy,包括16個字元,以短劃線分開,其中,cd key最後兩個yy是用於cd key的自校驗,確保cd key本身是合法的。cdkey使用的字元表23456789abcd...