Python 斯皮尔曼秩相关-类型错误:';int';对象不可调用 studlst=['ABDIHAFITH',8,16,19,20,3,25,16,2,9],'ADAM',12,9,17,24,13,6,15,13,30] 斯皮尔曼=[] dsquare=0.0 计数=0 i=0 而我
我一直收到错误“TypeError:“int”对象不可调用”。对于创建矛值的行(精子秩相关)。我尝试将该行上的两个len(studlst)转换为float,但它返回相同的错误,将float替换为int。我该怎么办?谢谢 编辑:Python 斯皮尔曼秩相关-类型错误:';int';对象不可调用 studlst=['ABDIHAFITH',8,16,19,20,3,25,16,2,9],'ADAM',12,9,17,24,13,6,15,13,30] 斯皮尔曼=[] dsquare=0.0 计数=0 i=0 而我,python,python-3.x,math,typeerror,Python,Python 3.x,Math,Typeerror,我一直收到错误“TypeError:“int”对象不可调用”。对于创建矛值的行(精子秩相关)。我尝试将该行上的两个len(studlst)转换为float,但它返回相同的错误,将float替换为int。我该怎么办?谢谢 编辑: 问题源于错误的语法,应该乘以len(studlst)和括号这部分看起来有问题: len(studlst)(len(studlst)**2-1) len生成一个int,以下括号中的表达式被解析为调用 如果您打算购买产品,请使用*运算符: len(studlst)*(len
问题源于错误的语法,应该乘以len(studlst)和括号这部分看起来有问题:
len(studlst)(len(studlst)**2-1)
len
生成一个int,以下括号中的表达式被解析为调用
如果您打算购买产品,请使用*运算符:
len(studlst)*(len(studlst)**2-1)
这部分看起来有问题:
len(studlst)(len(studlst)**2-1)
len
生成一个int,以下括号中的表达式被解析为调用
如果您打算购买产品,请使用*运算符:
len(studlst)*(len(studlst)**2-1)
在您的代码中,部分(len(studlst)(len(studlst)**2-1))
计算结果为int(某些值)
,因为(len(studlst)
将给您一个int
,(len(studlst)**2-1)
将是一些值
因此,您将int(some_value)
作为代码的最终产品,这意味着您将int
视为某种函数,并使用类似的值调用它
foo(x):
通过
然后foo(0)
这是导致问题的原因。如果要乘法,请将公式更改为
(len(studlst)*(len(studlst)**2-1))
在代码中,零件(len(studlst)(len(studlst)**2-1))
计算结果为int(某些值)
,因为(len(studlst)
将给您一个int
,(len(studlst)**2-1)
将是一些值
因此,您将int(some_value)
作为代码的最终产品,这意味着您将int
视为某种函数,并使用类似的值调用它
foo(x):
通过
然后foo(0)
这就是问题的原因。如果你打算乘法,然后将等式改为
(len(studlst)*(len(studlst)**2-1))
,用你自己的话来说,你认为len(studlst)(len(studlst)**2-1)意味着什么?提示:你为什么不写(6)(dsquare)
?这也行不通;大概你已经理解了原因。问题的根源在于我想把len(studlst)和括号相乘。用你自己的话来说,你期望len(studlst)(len(studlst)**2-1)是什么意思?
提示:你为什么不写(6)(dsquare)
?这也行不通;想必您已经理解了原因。问题的根源在于我打算将len(studlst)和括号相乘
studlst = [['ABDIHAFITH', 8, 16, 19, 20, 3, 25, 16, 2, 9], ['ADAM', 12, 9, 17, 24, 13, 6, 15, 13, 30]
spearman = []
dsquare = 0.0
count = 0
i = 0
while i < len(studlst):
dsquare += (studlst[i][1] - studlst[i][count+2])**2
i += 1
if i == len(studlst):
count += 1
spear = 1-((6*dsquare)/(len(studlst)(len(studlst)**2-1)))
spearman.append(spear)
if len(spearman) == (len(studlst[0])-2):
break
i = 0
dsquare = 0