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)的代码吗?
添加回答
举报