Rename initial init attribute to board; make self.board -> _board
This commit is contained in:
		
							parent
							
								
									88f0e07c06
								
							
						
					
					
						commit
						3017b1e923
					
				
					 2 changed files with 7 additions and 7 deletions
				
			
		|  | @ -28,7 +28,7 @@ def _parse_puzzle(puzzle): | |||
|     if len(puzzle) == 81: | ||||
|         print("Parsing  '{}'".format(puzzle)) | ||||
|         board = (int('0' if x == '.' else x) for x in puzzle) | ||||
|         return sudoku.Sudoku(initial=board) | ||||
|         return sudoku.Sudoku(board=board) | ||||
|     else: | ||||
|         print("Skipping '{}'".format(puzzle)) | ||||
|         return None | ||||
|  |  | |||
							
								
								
									
										12
									
								
								sudoku.py
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								sudoku.py
									
										
									
									
									
								
							|  | @ -8,16 +8,16 @@ import itertools | |||
| import math | ||||
| 
 | ||||
| class Sudoku: | ||||
|     def __init__(self, size=9, initial=None): | ||||
|     def __init__(self, size=9, board=None): | ||||
|         dim = math.sqrt(size) | ||||
|         if dim != int(dim): | ||||
|             raise ValueError('Board size must have an integral square root.') | ||||
|         self._dimension = int(dim) | ||||
|         self.size = size | ||||
|         if initial: | ||||
|             self.board = bytearray(initial)[:9**2] | ||||
|         if board: | ||||
|             self._board = bytearray(board)[:size**2] | ||||
|         else: | ||||
|             self.board = bytearray(b'\x00' * (size * size)) | ||||
|             self._board = bytearray(b'\x00' * (size * size)) | ||||
| 
 | ||||
|     @property | ||||
|     def dimension(self): | ||||
|  | @ -86,7 +86,7 @@ class Sudoku: | |||
|         return ranges | ||||
| 
 | ||||
|     def _apply_index_ranges(self, ranges): | ||||
|         return ((self.board[i] for i in r) for r in ranges) | ||||
|         return ((self._board[i] for i in r) for r in ranges) | ||||
| 
 | ||||
|     def __str__(self): | ||||
|         field_width = len(str(self.size)) | ||||
|  | @ -106,6 +106,6 @@ class Sudoku: | |||
|             lines.append('|' + '|'.join(chunks) + '|') | ||||
|         lines.append(spacer) | ||||
|         fmt = '\n'.join(lines) | ||||
|         str_board = [str(n) if n != 0 else ' ' for n in self.board] | ||||
|         str_board = [str(n) if n != 0 else ' ' for n in self._board] | ||||
|         out = fmt.format(board=str_board) | ||||
|         return out | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue