私のメソッドのエラーに関する小さな問題があります(クラスの中で)、私は現在、ボットができる最高の動きを整理したいAIに取り組んでいますが、このコードのビットで アサイグメントの前に参照されているローカル変数
def computerMove(self, tile, newBoard, legalMoves, isOnCorner):
legitMoves = self.getLegalMoves(self.board, tile)
for x, y in legitMoves:
if self.isOnCorner(x, y):
return [x, y]
highestPoints = -1
for x, y in legitMoves:
computerBoard = self.getComputerBoard(self.newBoard)
makeYourMove(computerBoard, tile, x, y)
points = countPoints(computerBoard)[tile]
if points > highestPoints:
highestPoints = points
bestMove = [x][y]
return bestMove
が、エラー状態...それは私にエラーを伝え、
UnboundLocalError: local variable 'bestMove' referenced before assignment
forループの前に値を指定する必要があります。なぜなら、if条件がfalseの場合、 'bestMove'には値が割り当てられておらず、関数は' None'を返すからです。 – ikreb
更新をチェック! @ikreb – PythonGirl