递归函数与另一个函数python协作

递归函数与另一个函数python协作,python,recursion,Python,Recursion,我想做一个游戏解决者。它应该能够解决数独问题。 找到每个方块中可用的每个数字。 这就是我所拥有的: def next_possible_moves(board,row,col): possible_moves = set(range(1,len(board)+1)) rows = set(board[row]) cols = [] for j in range(0,len(board)): cols.append(board[j][col])

我想做一个游戏解决者。它应该能够解决数独问题。 找到每个方块中可用的每个数字。
这就是我所拥有的:

def next_possible_moves(board,row,col):
    possible_moves = set(range(1,len(board)+1))
    rows = set(board[row])
    cols = []
    for j in range(0,len(board)):
        cols.append(board[j][col])
    cols = set(cols)
    possible_moves = possible_moves - rows.union(cols)
    return list(possible_moves)

def solve(board):
    for i in range(0,len(board)):
        if len(board) == 8 and len(board[i]):
            print "Found a solution:", board
            return True

    for next_move in next_possible_moves(board):
        if is_valid(board, next_move):

            if solve(board + [next_move]):
                return True

    return False
两人都在工作,但我无法让他们一起工作。我使用递归使它使用一个数字,在遍历代码时,如果失败,它将返回

我想要的是,下一次可能的移动只使用一个参数,这样我就可以删除“行”和“列”

使用包含X个列表的列表,因此它表示“X乘以X”板