1

所以这是我的代码:

class Board:
    def __init__ (self, boardLength, boardHeight, pieces):
        self.__boardLength = boardLength
        self.__boardHeight = boardHeight
        self.__pieces = pieces
        self.__snapShots = []
        self.__tiles = []
        while len(self.__tiles) < (self.__boardHeight*self.__boardLength):
            self.__tiles.append(0)

board1 = Board(5, 4,
    [u,I_shape(1,'I'),X_shape(3,5,'U'),T_shape(4,5,'U'),L_shape(3,5,'U')]
)

我明白了:

TypeError: __init__() takes exactly 4 arguments (3 given)

我知道 init 需要 4 个论点,但其中一个是 self ,而我给了它另外三个。谁能告诉我我做错了什么?

4

1 回答 1

6

我想你的问题实际上是I_shape,因为你的其他形状都需要 3 个参数。我运行了它,它运行良好,将不存在的类替换为None.

此外,值得注意的是,__variable在 99.9% 的情况下都不需要使用名称修饰 ( )。如果要指示它是私有的,请使用单个下划线。

于 2012-04-20T17:30:01.333 回答