Adjust possible_values_for_square to behave like dlx expects
This commit is contained in:
parent
3689ac6974
commit
2529533661
2 changed files with 7 additions and 3 deletions
|
@ -68,8 +68,12 @@ class Sudoku:
|
|||
return self._possible_values
|
||||
|
||||
def possible_values_for_square(self, x, y):
|
||||
peers = self.peers(x, y)
|
||||
return self.possible_values - peers
|
||||
value = self.get(x, y)
|
||||
if value:
|
||||
return {value}
|
||||
else:
|
||||
peers = self.peers(x, y)
|
||||
return self.possible_values - peers
|
||||
|
||||
@property
|
||||
def rows(self):
|
||||
|
|
|
@ -124,7 +124,7 @@ def _build_headers(sudoku):
|
|||
def _build_rows(sudoku, headers):
|
||||
for (index, coords) in enumerate(sudoku.all_squares):
|
||||
board_value = sudoku.get(*coords)
|
||||
possibilities = {board_value} if board_value else sudoku.possible_values_for_square(*coords)
|
||||
possibilities = sudoku.possible_values_for_square(*coords)
|
||||
for value in possibilities:
|
||||
cur = None
|
||||
for col in headers.iterate_row():
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue