I'm relatively new to python and the concept of recursion. The following code has been taken from a computerphile video (link below). I'd like to understand why the solve function returns a none after the desired output of the solved sudoko, could someone clarify? Is there anyway I can tweak the code to remove it? Thanks.
def solve(sudoko):
for i in range(9):
for j in range(9):
if sudoko.board[i][j] == 0:
for m in range(1, 10):
if sudoko.possible(i, j, m):
sudoko.board[i][j] = m
solve(sudoko)
sudoko.board[i][j] = 0
return
print(sudoko.show())