调用时未定义函数

时间:2018-03-12 12:04:40

标签: python python-2.7 list

我有一个函数返回一个我希望在另一个函数中使用的列表,当我调用函数时它说它没有定义,我的代码或调用方法有问题吗?

这是我从...返回列表的功能。

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参数但获得相同的结果

1 个答案:

答案 0 :(得分:2)

您需要致电TheKingMoves = self.KingMoves(rows, cols)

调用self.KingMoves()会引发错误,因为KingMoves需要您未提供的位置参数。

顺便说一下,在进一步学习python之前,请阅读python style guide。它将帮助人们在将来更快地理解您的代码。