MCPcopy Create free account
hub / github.com/asweigart/PythonStdioGames / isSolved

Method isSolved

src/gamesbyexample/sudoku.py:107–138  ·  view source on GitHub ↗

Returns True if the current grid is in a solved state.

(self)

Source from the content-addressed store, hash-verified

105 return sorted(numbers) == list('123456789')
106
107 def isSolved(self):
108 """Returns True if the current grid is in a solved state."""
109 # Check each row:
110 for row in range(GRID_LENGTH):
111 rowNumbers = []
112 for x in range(GRID_LENGTH):
113 number = self.grid[(x, row)]
114 rowNumbers.append(number)
115 if not self._isCompleteSetOfNumbers(rowNumbers):
116 return False
117
118 # Check each column:
119 for column in range(GRID_LENGTH):
120 columnNumbers = []
121 for y in range(GRID_LENGTH):
122 number = self.grid[(column, y)]
123 columnNumbers.append(number)
124 if not self._isCompleteSetOfNumbers(columnNumbers):
125 return False
126
127 # Check each box:
128 for boxx in (0, 3, 6):
129 for boxy in (0, 3, 6):
130 boxNumbers = []
131 for x in range(BOX_LENGTH):
132 for y in range(BOX_LENGTH):
133 number = self.grid[(boxx + x, boxy + y)]
134 boxNumbers.append(number)
135 if not self._isCompleteSetOfNumbers(boxNumbers):
136 return False
137
138 return True
139
140
141print('''Sudoku Puzzle, by Al Sweigart al@inventwithpython.com

Callers 1

sudoku.pyFile · 0.80

Calls 1

Tested by

no test coverage detected