shufler()需要传入1个位置参数,但是现在传入了2个。

4
以下是我的代码。
def __init__(self):
    self.node=[]
    self.fronts=[]
    self.GoalNode=['1','2','3','4','5','6','7','8','0']
    self.StartNode=['1','2','3','4','5','6','7','8','0']
    self.PreviousNode=[]
    self.prePreviousNode=[]
    self.PreviousCount=1

def Solve(self):
    self.shufler(10)
    ......


def shufler(self):

        while True:
            node=self.StartNode

以下是我收到的错误消息:

File "E:\Zoe's file\CMPT 310\Assign 2\astart8puzzle\AI8puzzle\py8puzzel.py", line 18, in Solve
    self.shufler(10)
TypeError: shufler() takes exactly 1 positional argument (2 given)

我不明白我在哪里使用了两个参数。

1个回答

8
self.shufler(10)

这会使用两个参数(1)self和(2)10调用shufler。左侧的对象被用作第一个参数。 为了处理10参数,需要在shufler的定义中添加第二个参数。
def shufler(self, count):

@zoe,在S.O.上,将回答了你问题的问题标记为“已接受”被认为是礼貌的行为。有一个只有你能看到的淡化复选框来指示它已被接受。 - Chris Pfohl
1
好的,我会在2分钟内接受它。网站目前还不允许我这样做。看来你回答得太快了 :P - zoe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接