Я работаю над sudoku2 из сигнала кода и проверяю, является ли данная сетка воспроизведения sudoku действительной или нет.
Мой код проходит все разблокированные тестовые случаи, кроме одного, и я не уверен, гдемоя проблемаЯ сузил его до своих функций checkSquare () или checkSquares ().
Вот мой код
def sudoku2(grid):
if checkRows(grid) and checkCols(grid) and checkSquares(grid):
return True
return False
def checkRows(grid):
for i in range(9):
list = set()
for j in range(9):
if grid[i][j] in list:
return False
elif not grid[i][j] == ".":
list.add(grid[i][j])
return True
def checkCols(grid):
for i in range(9):
list = set()
for j in range(9):
if grid[j][i] in list:
return False
elif not grid[j][i] == ".":
list.add(grid[j][i])
return True
def checkSquare(grid, row, col):
list = set()
for j in range(3):
for k in range(3):
if grid[j][k] in list:
return False
elif not grid[j][k] == ".":
list.add(grid[j][k])
return True
def checkSquares(grid):
row = 0
col = 0
track = 0
for i in range(3):
if track%2==0:
row+=3
else:
col+=3
for j in range(3):
if not checkSquare(grid,i+row, j+col):
return False
track+=1
return True
И это таблица для неудачного теста.
[[".",".",".",".",".",".","5",".","."],
[".",".",".",".",".",".",".",".","."],
[".",".",".",".",".",".",".",".","."],
["9","3",".",".","2",".","4",".","."],
[".",".","7",".",".",".","3",".","."],
[".",".",".",".",".",".",".",".","."],
[".",".",".","3","4",".",".",".","."],
[".",".",".",".",".","3",".",".","."],
[".",".",".",".",".","5","2",".","."]]
У меня нет ошибок компиляции, поэтому я не могу найти проблему.