Я пытаюсь определить медиану списка из 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