我正在尝试为数独检查程序编写代码,但它似乎没有评估条件,并且每次运行它都会返回true。我似乎无法弄清楚我哪里出错。我已经发布了如何检查行,列和网格的代码。请让我知道我哪里出错了,以及我能做些什么来纠正它。
def check_sudoku(grid,counter):
# check for duplicates in row:
for j in range (len(grid)):
for i in range(len(grid)):
if grid[j][i] in counter:
return True
else:
counter.append(grid[i][j])
# check for duplicates in columns:
for i in range(len(grid)):
for j in range(len(grid)):
if grid[i][j] in counter:
return True
else:
counter.append(grid[i][j])
# check for duplicates in every grid:
size = int(math.sqrt(len(grid)))
for grid_row in range(0,len(grid),size):
row_rear = grid_row + size
for grid_col in range(0,len(grid),size):
col_rear = grid_col + offset
for i in range(grid_row,row_rear):
for j in range(grid_col,col_rear):
if grid[i][j] in counter:
return False
else:
counter.append(sudoku[i][j])
def validate(counter,grid):
if counter != len(grid):
print('The puzzle is valid!')
else:
print('The puzzle is invalid!')