Python 我需要做一个程序,取一系列数字的中间值,然后找到中间的数字

Python 我需要做一个程序,取一系列数字的中间值,然后找到中间的数字,python,function,subscript,Python,Function,Subscript,我有一个问题,我需要包括一个中位数的下标,但我不知道这意味着什么 我试过很多方法,但我还是不知道中位数的下标是什么意思 def median(a): a=a.sort() a=len(a)/2 return a def main(): print(median([3,1,2])) print(median([4,3,2,1])) print(median([1,5,3,2,4])) print(median([6,5,1,2,3,4]))

我有一个问题,我需要包括一个中位数的下标,但我不知道这意味着什么

我试过很多方法,但我还是不知道中位数的下标是什么意思

def median(a):
    a=a.sort()
    a=len(a)/2
    return a

def main():
    print(median([3,1,2]))
    print(median([4,3,2,1]))
    print(median([1,5,3,2,4]))
    print(median([6,5,1,2,3,4]))

main()

我希望它打印出数字的中位数,如果它得到两个,我需要较小的。。。我们不能使用平均值。

您返回的是中间索引,而不是该索引处元素的值

另外,
a.sort()
就地修改列表,它不会返回已排序的列表
a=a.sort()
对列表进行排序,然后将
a
设置为
None

def median(a):
    s = sorted(a)
    middle = int(len(s)/2)
    return s[middle]


如果你不知道“中位数下标”是什么意思,你怎么会认为你需要把它包括进去呢?这是要求教授在问题中加入的