在我的Python类中,我必须创建一个函数来计算Sorensen-Dice系数。公式是:2\x,x,∩,Y,这就是我到目前为止得到的。也许完全走错了路,我完全是个初学者。
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
def dice(a, b):
_a = set(a)
_b = set(b)
return (2*_a.intersection(_b)) / ((_a) + (_b))
dice(a, b)我得到的错误是: TypeError:不支持的操作数类型(S),用于*:'int‘和'set’
谢谢!
发布于 2022-07-12 16:38:15
您的代码中有一个非常小的错误。在返回行中,您需要使用集合的大小。系数大约是集合的大小。
所以使用return (2*len(_a.intersection(_b))) / (len(_a) + len(_b))。
编辑-
我是如何调试代码的:错误说是TypeError: unsupported operand type(s) for *: 'int' and 'set',这是一个关于您正在使用的乘法运算符的错误。
编辑2-排版
https://stackoverflow.com/questions/72955616
复制相似问题