mirror of
https://github.com/Sosokker/sudoku-terminal-game.git
synced 2025-12-18 13:14:05 +01:00
is_valid_solution iin SudokuSolver/add gitignore
This commit is contained in:
parent
00b925c17c
commit
7d73c84bb6
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
__pycache__/
|
||||
@ -41,4 +41,15 @@ class SudokuSolver:
|
||||
if grid[box_row + i][box_col + j] == num:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
def is_valid_solution(grid):
|
||||
# Check if each row, column, and 3x3 box contains all numbers from 1 to 9
|
||||
for i in range(9):
|
||||
row_nums = set(grid[i])
|
||||
col_nums = set(grid[j][i] for j in range(9))
|
||||
box_nums = set(grid[i//3*3+j//3][i%3*3+j%3] for j in range(9))
|
||||
if row_nums != set(range(1, 10)) or col_nums != set(range(1, 10)) or box_nums != set(range(1, 10)):
|
||||
return False
|
||||
return True
|
||||
@ -17,7 +17,7 @@ def test_solve_sudoku():
|
||||
[0, 0, 0, 0, 8, 0, 0, 7, 9]
|
||||
]
|
||||
assert SudokuSolver.solve(grid)
|
||||
assert is_valid_solution(grid)
|
||||
assert SudokuSolver.is_valid_solution(grid)
|
||||
|
||||
# Test an invalid Sudoku grid
|
||||
grid = [
|
||||
@ -33,13 +33,3 @@ def test_solve_sudoku():
|
||||
]
|
||||
assert not SudokuSolver.solve(grid)
|
||||
|
||||
def is_valid_solution(grid):
|
||||
# Check if each row, column, and 3x3 box contains all numbers from 1 to 9
|
||||
for i in range(9):
|
||||
row_nums = set(grid[i])
|
||||
col_nums = set(grid[j][i] for j in range(9))
|
||||
box_nums = set(grid[i//3*3+j//3][i%3*3+j%3] for j in range(9))
|
||||
if row_nums != set(range(1, 10)) or col_nums != set(range(1, 10)) or box_nums != set(range(1, 10)):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user