Python 3.x 试图构建一个返回中间值的函数,请继续获取;索引浮点非整数“;错误
我检查了5次,数字肯定是整数,怎么了Python 3.x 试图构建一个返回中间值的函数,请继续获取;索引浮点非整数“;错误,python-3.x,math,median,Python 3.x,Math,Median,我检查了5次,数字肯定是整数,怎么了 谢谢 0.5倍绝对保证为浮动。它可能是一个带有整数值的浮点,但这与int不同。使用int(x)获取一个可用于索引的有效值,或者使用len(x)/2进行整数除法,并且根本不涉及浮点。@jasonharper“使用len(x)/2进行整数除法”在Python3中不起作用。需要使用/。 def median(lst): sorted_lst=sorted(lst) if len(lst
谢谢 0.5倍绝对保证为浮动。它可能是一个带有整数值的浮点,但这与int不同。使用
int(x)
获取一个可用于索引的有效值,或者使用len(x)/2进行整数除法,并且根本不涉及浮点。@jasonharper“使用len(x)/2进行整数除法”在Python3中不起作用。需要使用/
。
def median(lst):
sorted_lst=sorted(lst)
if len(lst)%2==0:
even_median=0.5*sum(sorted_lst[0.5*len(sorted_lst)]+
sorted_lst[(0.5*len(sorted_lst))-1])
return even_median
else:
odd_median=sorted_lst[0.5*((len(sorted_lst))-1)]
return odd_median