Esempio n. 1
0
def solve_sudoku(_grid):
    res = check_sudoku(_grid)
    if res == False or res == None:
        return res 
    else:
        grid = copy.deepcopy(_grid)
        for row in range(9):
            for col in range(9):
                if grid[row][col] == 0:
                    for i in range(1,10):
                        grid[row][col] = i 
                        new = solve_sudoku(grid) # the reason deepcopy is needed
                        if new != False:
                            return new 
                    return False
    return grid
Esempio n. 2
0
def test_create_solvable_board():
	for i in range(1000):
		assert check_sudoku(create_solvable_board()) == True 
	print "Test Successful"