我编写了一个程序,该程序返回输入列表的中位数。它接受两个输入。 第一个输入=元素数 第二个输入=元素
numElements = int(input())
elements = [int(num) for num in input().split(' ')]
elements = elements.sort()
if numElements % 2 == 0:
medianOne = (numElements / 2) -1
median = (elements[medianOne] + elements[medianOne + 1])/2
print(median)
else:
medianIndex = round(((float(numElements)/2)+0.2)) - 1
median = elements[medianIndex]
print(median)
当我提供奇数个元素时,我得到一个NoneType不能下标的错误。为什么会这样?
答案 0 :(得分:3)
elements.sort()对列表进行适当排序。 sorted(elements)返回一个排序数组。
那是问题。