Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何改变解决方案?(编解码器,中位数,蟒蛇3.4)_Python_Median - Fatal编程技术网

Python 如何改变解决方案?(编解码器,中位数,蟒蛇3.4)

Python 如何改变解决方案?(编解码器,中位数,蟒蛇3.4),python,median,Python,Median,我使用Python3.4进行编码。Codecademy编辑器不接受我的解决方案。任务是编写一个函数来查找列表的中间值 我的代码: def median(nums): a = sorted(nums) if len(a)==1: return a[0] elif len(a) % 2 != 0: return a[int((len(a) - 1)/2)] else: return (a[int((len(a))/2)

我使用Python3.4进行编码。Codecademy编辑器不接受我的解决方案。任务是编写一个函数来查找列表的中间值

我的代码:

def median(nums):
    a = sorted(nums)

    if len(a)==1:
        return a[0]
    elif len(a) % 2 != 0:
        return a[int((len(a) - 1)/2)]
    else:
        return (a[int((len(a))/2)] + a[int(((len(a))/2) - 1)])/2

那么,如何更改我的代码以使其被接受呢?

根据您目前提供的信息,我认为这可能是一个整数除法的问题。如果列表中有偶数个元素,则必须取平均值。在python3.4中,
/
进行浮点除法,但在python2中,它进行整数除法。因此,您应该将行修改为以下内容(
2.0
,而不是
2
):

这将迫使python进行浮点除法而不是整数除法

return (a[int((len(a))/2)] + a[int(((len(a))/2) - 1)]) / 2.0