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())
