-3
def median(L):
length = len(L)
L.sort()
print 'List = ', L
if (length % 2 == 1): #Length is odd
index = math.ceil(length/2)
index = int(index)
for i in range(0, length + 1):
if i == index:
print 'Median = ', L[i]
print 'Median = %.2f' % (L[i])
return L[i]
elif (length % 2 == 0): #Length is even
index = math.floor(length/2)
lower = int(index) - 1
upper = int(index)
print L[lower]
print L[upper]
median = ((L[upper] + L[lower])/2)
median = float(median)
print 'Median = %.2f' % (median)
return median
中位數(L)的Python 3.4,查找列表中位數
的Python 3.4
想我用這個列表 L = [98,75,92,87,89,90, 92,87]
當我對列表進行排序,找到中間的兩個數字,我得到89和90 ... ...但是,我嘗試採取這兩個數字
中位數=((L [平均上] + L [下])/ 2)
它返回數字89.00而不是89.50
任何想法如何解決這個問題? 由於
完美浮起,由於 – ARW