我是编程新手。当我写代码时,我遇到了一个错误,我不明白它为什么会出现。这是下面的代码。
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
至于为什么您的代码不起作用:您通过类名而不是其实例来调用实例方法。