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 |         return self._possible_values | ||||||
| 
 | 
 | ||||||
|     def possible_values_for_square(self, x, y): |     def possible_values_for_square(self, x, y): | ||||||
|         peers = self.peers(x, y) |         value = self.get(x, y) | ||||||
|         return self.possible_values - peers |         if value: | ||||||
|  |             return {value} | ||||||
|  |         else: | ||||||
|  |             peers = self.peers(x, y) | ||||||
|  |             return self.possible_values - peers | ||||||
| 
 | 
 | ||||||
|     @property |     @property | ||||||
|     def rows(self): |     def rows(self): | ||||||
|  |  | ||||||
|  | @ -124,7 +124,7 @@ def _build_headers(sudoku): | ||||||
| def _build_rows(sudoku, headers): | def _build_rows(sudoku, headers): | ||||||
|     for (index, coords) in enumerate(sudoku.all_squares): |     for (index, coords) in enumerate(sudoku.all_squares): | ||||||
|         board_value = sudoku.get(*coords) |         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: |         for value in possibilities: | ||||||
|             cur = None |             cur = None | ||||||
|             for col in headers.iterate_row(): |             for col in headers.iterate_row(): | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue