Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def find_empty_cell(board):
- for board_row in range(9):
- for board_cow in range(9):
- if board[board_row][board_cow] == '':
- return board_row, board_cow
- return None, None
- def is_valid(board, prediction, row, col):
- row_vals = board[row]
- if prediction in row_vals:
- return False
- col_vals = [board[i][col] for i in range(9)]
- if prediction in col_vals:
- return False
- row_start = (row // 3) * 3
- col_start = (col // 3) * 3
- for r in range(row_start, row_start + 3):
- for c in range(col_start, col_start + 3):
- if board[r][c] == prediction:
- return False
- return True
- def solver(board):
- row, col = find_empty_cell(board)
- if row is None:
- return True
- for guess in range(1, 10):
- if is_valid(board, guess, row, col):
- board[row][col] = guess
- if solver(board):
- return True
- board[row][col] = ''
- return False
- matrix = [
- ['6', '3', '', '', '', '', '', '8', '1'],
- ['', '2', '', '', '', '3', '', '', ''],
- ['', '', '', '', '1', '7', '4', '3', ''],
- ['', '9', '6', '4', '', '', '5', '7', ''],
- ['', '', '', '7', '6', '2', '', '', ''],
- ['', '8', '', '', '', '', '6', '', ''],
- ['', '6', '', '', '2', '', '', '', ''],
- ['3', '', '9', '', '', '', '', '6', ''],
- ['', '', '', '', '', '', '', '', '9']
- ]
- print(solver(matrix))
- for j in matrix:
- print(', '.join(map(str, j)))
- # matrix = [
- # ['', '', '', '', '', '', '', '', ''],
- # ['', '', '', '', '', '', '', '', ''],
- # ['', '', '', '', '', '', '', '', ''],
- #
- # ['', '', '', '', '', '', '', '', ''],
- # ['', '', '', '', '', '', '', '', ''],
- # ['', '', '', '', '', '', '', '', ''],
- #
- # ['', '', '', '', '', '', '', '', ''],
- # ['', '', '', '', '', '', '', '', ''],
- # ['', '', '', '', '', '', '', '', '']
- # ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement