Analisador de Sudoku
Crie uma classe Sudoku que receba uma string como argumento. A string conterá os números de um tabuleiro de Sudoku normal de 9x9 da esquerda para a direita e de cima para baixo, com zeros preenchendo as células vazias.
Atributos
Uma instância da classe Sudoku terá um atributo:
board: uma lista que representa o tabuleiro, com sublistas para cada linha e os números como inteiros. A célula vazia é representada por0.
Métodos
Uma instância da classe Sudoku terá três métodos:
get_row(n): retornará a linha na posiçãon.get_col(n): retornará a coluna na posiçãon.get_sqr([n, m]): retornará o quadrado na posiçãonse apenas um argumento for fornecido, e o quadrado ao qual pertence a célula na posição(n, m)se dois argumentos forem fornecidos.
Exemplo

game = Sudoku("417950030000000700060007000050009106800600000000003400900005000000430000200701580")
game.board ➞ [
[4, 1, 7, 9, 5, 0, 0, 3, 0],
[0, 0, 0, 0, 0, 0, 7, 0, 0],
[0, 6, 0, 0, 0, 7, 0, 0, 0],
[0, 5, 0, 0, 0, 9, 1, 0, 6],
[8, 0, 0, 6, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 3, 4, 0, 0],
[9, 0, 0, 0, 0, 5, 0, 0, 0],
[0, 0, 0, 4, 3, 0, 0, 0, 0],
[2, 0, 0, 7, 0, 1, 5, 8, 0]
]
game.get_row(0) ➞ [4, 1, 7, 9, 5, 0, 0, 3, 0]
game.get_col(8) ➞ [0, 0, 0, 6, 0, 0, 0, 0, 0]
game.get_sqr(1) ➞ [9, 5, 0, 0, 0, 0, 0, 0, 7]
game.get_sqr(1, 8) ➞ [0, 3, 0, 7, 0, 0, 0, 0, 0]
game.get_sqr(8, 3) ➞ [0, 0, 5, 4, 3, 0, 7, 0, 1]Observações
- Todas as posições são indexadas a partir de 0.
- Todas as ordens são atribuídas da esquerda para a direita e de cima para baixo.