【发布时间】:2017-05-10 21:42:08
【问题描述】:
我正在尝试确定 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)]
有什么建议吗?
【问题讨论】: