12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import sudoku as sdk
- def naked_twins(values):
- """
- Eliminate values using the naked twins strategy.
- Args:
- values(dict): a dictionary of the form
- {'box_name': '123456789', ...}
- Returns:
- the values dictionary with the naked twins eliminated from peers.
- """
- sudoku = sdk.Sudoku(values, partial=True)
- sudoku.naked_twins()
- return sudoku.values
- def solve(grid):
- """
- Find the solution to a Sudoku grid.
- Args:
- grid(string): a string representing a sudoku grid.
- Example: '2.............62....1....7...6..8...3...9...7...6..4...4....8....52.............3'
- Returns:
- The dictionary representation of the final sudoku grid. False if no solution exists.
- """
- diagonal_sudoku = sdk.Sudoku(grid, diag=True)
- diagonal_sudoku.search()
- diagonal_sudoku.display()
- return diagonal_sudoku.values
- if __name__ == '__main__':
- diag_sudoku_grid = '9...6...7.6.971.4...........5.....3.41.....28.7.....6...........9.854.7.5...1...4'
- solve(diag_sudoku_grid)
- try:
- from visualize import visualize_assignments
- visualize_assignments(sdk.assignments)
- except SystemExit:
- pass
- except:
- print('Could not visualize your board due to a pygame issue. Not a problem! It is not a requirement.')
|