TypeError:transform()缺少1个必需的位置参数:n



我是编程新手。当我写代码时,我遇到了一个错误,我不明白它为什么会出现。这是下面的代码。

class Summator():   
def transform(self, n):
return n
def sum(self, N):
a = 0
for i in range(N + 1):
a += Summator.transform(i)
return a

class SquareSummator(Summator):
def __init__(self):
pass
def transform(self, n):
return n ** 2

class CubeSummator(Summator):
def __init__(self):
pass
def transform(self, n):
return n ** 3

这就是我犯的错误。

TypeError:transform((缺少1个必需的位置参数:"n">

尝试这样更改代码:

def sum(self, N):
a = 0
for i in range(N + 1):
a += self.transform(i)
return a

至于为什么您的代码不起作用:您通过类名而不是其实例来调用实例方法。

最新更新