我有一个函数返回一个我希望在另一个函数中使用的列表,当我调用函数时它说它没有定义,我的代码或调用方法有问题吗?
这是我从...返回列表的功能。
def KingMoves(self, rows, columns):
FinalMove = []
FinalMove.append(((rows - 1),(columns))) # (left 1)
FinalMove.append(((rows + 1),(columns))) # (right 1)
FinalMove.append(((columns + 1),(rows))) # (up 1)
FinalMove.append(((row + 1),(columns + 1))) # (right 1) (up 1) -- Diagonals for king only
FinalMove.append(((row - 1),(columns + 1))) # (left 1)(up 1)
FinalMove.append(((row + 1),(columns - 1))) # (right 1)(down 1)
FinalMove.append(((row - 1),(columns - 1))) # (left 1)(down 1)
return FinalMove;
这是我尝试使用列表返回列表的地方。
def UserInput(self):
global AllPieces
TheKingMoves = KingMoves()
OnGoing = True
这是我收到的错误:
NameError: name 'KingMoves' is not defined
我试图通过Kingmoves参数但获得相同的结果
答案 0 :(得分:2)
您需要致电TheKingMoves = self.KingMoves(rows, cols)
。
调用self.KingMoves()
会引发错误,因为KingMoves
需要您未提供的位置参数。
顺便说一下,在进一步学习python之前,请阅读python style guide。它将帮助人们在将来更快地理解您的代码。