# Learn Classes and Objects by Building a Sudoku Solver - Step 43

### Tell us what’s happening:

I am at a loss. I have tried another way and was able the code to “work” but the website will not take my code even though it works.

class Board:
def __init__(self, board):
self.board = board

def find_empty_cell(self):
for row, contents in enumerate(self.board):
try:
col = contents.index(0)
return row, col
except ValueError:
pass
return None

def valid_in_row(self, row, num):
return num not in self.board[row]

def valid_in_col(self, col, num):
return all(self.board[row][col] != num for row in range(9))

def valid_in_square(self, row, col, num):
row_start = (row // 3) * 3
col_start = (col // 3) * 3
for row_no in range(row_start, row_start + 3):
for col_no in range(col_start, col_start + 3):
if self.board[row_no][col_no] == num:
return False
return True

puzzle = [
[0, 0, 2, 0, 0, 8, 0, 0, 0],
[0, 0, 0, 0, 0, 3, 7, 6, 2],
[4, 3, 0, 0, 0, 0, 8, 0, 0],
[0, 5, 0, 0, 3, 0, 0, 9, 0],
[0, 4, 0, 0, 0, 0, 0, 2, 6],
[0, 0, 0, 4, 6, 7, 0, 0, 0],
[0, 8, 6, 7, 0, 4, 0, 0, 0],
[0, 0, 0, 5, 1, 9, 0, 0, 8],
[1, 7, 0, 0, 0, 6, 0, 0, 5]
]

gameboard = Board(puzzle)

# User Editable Region

result = gameboard.valid_in_square(1, 0, 3)
print(result)

# User Editable Region

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

### Challenge Information:

Learn Classes and Objects by Building a Sudoku Solver - Step 43

Don’t store the result of the function call, just print it. This test is a bit too picky

Test the method to ensure it works properly by calling valid_in_square on gameboard. Pass it 1, 0, and 3 as the arguments and print the result.

The wording does kind of make it sound like 2 separate steps/lines, especially since result is often used as a variable. Could possibly reword this something like:

Test the method to ensure it works properly. Call valid_in_square on gameboard and pass it 1, 0, and 3 as the arguments. Pass the function call to print().