0
這是從我正在開發的Sudoku解算器中取出的一些代碼。我改變了一些它縮小了,但它的根本問題仍然存在。如果我要運行它,它將一次通過solve
函數,但隨後返回到add1
函數的board[x][y] += 1
部分,它將返回TypeError: list indices must be integers, not list
。我找不到任何答案。無法弄清楚爲什麼要傳遞一個列表而不僅僅是數字。請幫忙!(Python)TypeError:列表索引必須是整數,而不是列表
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)