我試圖確定一個n元素列表的中位數,我只是看不到我做錯了什麼。n個元素列表中的中位數
我有sorted(list)
以便元素按正確的順序排列,但得到的中位數爲5.0
而不是正確的4.5
。
我的代碼看起來像這樣。
def median(lista):
median_even1 = 0
median_even2 = 0
median_sum = 0
median_average = 0
if len(lista) % 2 == 0:
sorted(lista)
median_even1 += lista[(len(lista)/2)]
median_even2 += lista[(len(lista)/2 - 1)]
median_sum = median_even1 + median_even2
median_average = (median_sum) // (2.0)
return median_average
else:
sorted(lista)
return lista[(len(lista)/2)]
有什麼建議嗎?
OMG我覺得很愚蠢的,謝謝 –
注意,該代碼仍然存在一些失誤,其中至少有一個會導致一個回溯(上Python 3中,所以我想這是Python的2 ...還是,產生錯誤的答案)。 – TigerhawkT3