【发布时间】:2015-12-19 10:06:47
【问题描述】:
这是从我正在研究的数独求解器中提取的一些代码。我对其进行了一些更改以缩小它,但它的根本问题仍然存在。如果我要运行它,它会通过solve 函数一次,但在返回add1 函数的board[x][y] += 1 部分时,它会返回TypeError: list indices must be integers, not list。我找不到任何答案。无法弄清楚为什么要传递一个列表而不仅仅是数字。请帮忙!
def init_board():
board = [[],[],[],[],[],[],[],[],[]]
for i in board:
for x in range(0,9):
i.append(0)
return board
def add1(x, y):
board[x][y] += 1
def solve(row, column):
add1(row, column)
for row in board:
print(row)
if True:
if row == 8 and column == 8:
return
if column == 8:
row += 1
column = 0
if column < 8:
column += 1
solve(row, column)
board = init_board()
solve(0,0)
【问题讨论】:
标签: python list recursion sudoku indices