类方法之间的错误,Python编程

类方法之间的错误,Python编程,python,Python,将computerBoard=self.getComputerBoard(self.newBoard)添加到我的def computerMove中不起作用。它只告诉我: computerBoard[x][y] = self.board[x][y] TypeError:“非类型”对象不可下标 这可能与我在def getComputerBoard中定义computerboard有关,但我不明白为什么 class BoardHandler: def __init__ (self): sel

computerBoard=self.getComputerBoard(self.newBoard)
添加到我的
def computerMove
中不起作用。它只告诉我:

computerBoard[x][y] = self.board[x][y]
TypeError:“非类型”对象不可下标

这可能与我在
def getComputerBoard
中定义computerboard有关,但我不明白为什么

class BoardHandler: 
def __init__ (self):
    self.board = None
    self.size = self.askSize()           
    self.newBoard()

def newBoard(self): 
    self.board = [] 
    for i in range(self.size):
        self.board.append([' '] * self.size)

newBoard
不返回新板,它只是初始化
self.board
。所以

computerBoard = self.newBoard()
computerBoard
设置为
None
,并清除
self.board
中的所有内容

您应该更改
newBoard
,使其返回板,而不是更新
self

def newBoard(self): 
    board = [] 
    for i in range(self.size):
        board.append([' '] * self.size)
    return board
或者更简单地说:

def newBoar(self):
    return [[' '] * self.size for i in range(self.size)]
然后更改
\uuuu init\uuuu
方法以如下方式使用它:

def __init__(self):
    self.size = self.askSize()
    self.board = self.newBoard()

self.board在哪里定义?将整个类放在另一个
self.board[x]
computerBoard[x]中
未设置为列表/数组。
newBoard
getComputerBoard
参数是什么?
\uuuuu init\uuuuu
方法从未将
self.board
设置为一个板。它告诉我“返回板名错误:未定义名称”board“嗯?在前面的
board=[]