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

### Tell us what’s happening:

Describe your issue in detail here.

I didnt understand what im suposed to do, tried to put the ‘return’, function, call it back…

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

def __str__(self):
upper_lines = f'\n╔═══{"╤═══"*2}{"╦═══"}{"╤═══"*2}{"╦═══"}{"╤═══"*2}╗\n'
middle_lines = f'╟───{"┼───"*2}{"╫───"}{"┼───"*2}{"╫───"}{"┼───"*2}╢\n'
lower_lines = f'╚═══{"╧═══"*2}{"╩═══"}{"╧═══"*2}{"╩═══"}{"╧═══"*2}╝\n'
board_string = upper_lines
for index, line in enumerate(self.board):
row_list = []
for square_no, part in enumerate([line[:3], line[3:6], line[6:]], start=1):
row_square = '|'.join(str(item) for item in part)
row_list.extend(row_square)
if square_no != 3:
row_list.append('║')

row = f'║ {" ".join(row_list)} ║\n'
row_empty = row.replace('0', ' ')
board_string += row_empty

if index < 8:
if index % 3 == 2:
board_string += f'╠═══{"╪═══"*2}{"╬═══"}{"╪═══"*2}{"╬═══"}{"╪═══"*2}╣\n'
else:
board_string += middle_lines
else:
board_string += lower_lines

return board_string

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]

# User Editable Region

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

# User Editable Region

``````

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

### Challenge Information:

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

You appear to have created this post without editing the template. Please edit your post to Tell us what’s happening in your own words.

Where did you put the `return`?

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

Looks like it’s returning nothing.

``````return <result>
``````

You put the result that you want to return after `return`

``````def function(x):
result = 2 * x
return result
``````

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.