TypeError:只接受1个参数(给定2个)Python E

2024-06-28 11:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是我有这个功能:

def fuerza_repulsion(x):
    area = 100 * 100
    k = math.sqrt(area / len(self.grafo[0]))
    return ((k**2 / x) * c2)

在这条线上

f_mod = self.fuerza_repulsion(math.sqrt(dx**2 + dy**2))

我有这个错误:

TypeError: fuerza_repulsion() takes exactly 1 argument (2 given)

我怎样才能修好它?


Tags: self功能modlenreturndefareamath
1条回答
网友
1楼 · 发布于 2024-06-28 11:22:50

看起来您的函数是类的一部分,在这种情况下,函数的第一个参数需要是类对象本身self。(同样,正如@SRC所指出的,您通常调用类函数'methods')

因此,使用:

def fuerza_repulsion(self, x):
    area = 100 * 100
    k = math.sqrt(area / len(self.grafo[0]))
    return ((k**2 / x) * c2)

相关问题 更多 >