我试图确定一个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