combined_validation
combined_validation
Functions
| Name | Description |
|---|---|
| combined_validation | Validate an entire Sudoku board. |
combined_validation
combined_validation.combined_validation(board)Validate an entire Sudoku board.
This function checks whether a Sudoku board is valid according to standard rules: each row, each column and each 3x3 square must contain unique digits from 1 to 9, ignoring placeholder values (e.g., 0 or None) for incomplete cells. It combines the checks from row_validation, column_validation and square_validation.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| board | list of list of int | A 9x9 grid representing a Sudoku board. Each cell should contain an integer from 1-9. | required |
Returns
| Name | Type | Description |
|---|---|---|
| bool | True if the board is valid (all rows, columns and squares contain unique digits according to Sudoku rules), False otherwise. |
Raises
| Name | Type | Description |
|---|---|---|
| ValueError | If the board is not a 9x9 grid or contains invalid cell values outside the range 0-9. |
Examples
>>> board = [
... [5, 3, 0, 0, 7, 0, 0, 0, 0],
... [6, 0, 0, 1, 9, 5, 0, 0, 0],
... [0, 9, 8, 0, 0, 0, 0, 6, 0],
... [8, 0, 0, 0, 6, 0, 0, 0, 3],
... [4, 0, 0, 8, 0, 3, 0, 0, 1],
... [7, 0, 0, 0, 2, 0, 0, 0, 6],
... [0, 6, 0, 0, 0, 0, 2, 8, 0],
... [0, 0, 0, 4, 1, 9, 0, 0, 5],
... [0, 0, 0, 0, 8, 0, 0, 7, 9]
... ]
>>> combined_validation(board)
False>>> solved_board = [
... [5, 3, 4, 6, 7, 8, 9, 1, 2],
... [6, 7, 2, 1, 9, 5, 3, 4, 8],
... [1, 9, 8, 3, 4, 2, 5, 6, 7],
... [8, 5, 9, 7, 6, 1, 4, 2, 3],
... [4, 2, 6, 8, 5, 3, 7, 9, 1],
... [7, 1, 3, 9, 2, 4, 8, 5, 6],
... [9, 6, 1, 5, 3, 7, 2, 8, 4],
... [2, 8, 7, 4, 1, 9, 6, 3, 5],
... [3, 4, 5, 2, 8, 6, 1, 7, 9]
... ]
>>> combined_validation(solved_board)
True