3 回答

TA貢獻1803條經驗 獲得超6個贊
這對我有用。您確定問題不在于縮進嗎?您的構造函數未正確縮進。
class Board(object):
def __init__(self, rows, columns):
#small values
if rows < 1 or columns < 2:
raise SizeOutOfBoundException
#large values
if rows > 20 or columns > 50:
raise SizeOutOfBoundException
self.rows = rows
self.columns = columns
self.arr = [[[0,'H'] for x in range(self.rows)] for y in range(self.columns)]
myboard = Board(3,4)
print myboard.arr
輸出為:
[[[0,'H'],[0,'H'],[0,'H']],[[0,'H'],[0,'H'],[0,'H' ]],[[0,'H'],[0,'H'],[0,'H']],[[0,'H'],[0,'H'],[0,' H']]]

TA貢獻1850條經驗 獲得超11個贊
您很可能Board以行或列而不是整數的形式傳遞對象。
印刷:
self.rows
self.columns
type(self.rows)
type(self.columns)
就在導致錯誤的行之前可以幫助確認這一點,或者您可以張貼正在使用的調用Board(rows,columns)的代碼嗎?
添加回答
舉報