Sudoku. Implemente a função Sudoku(matriz). matriz é uma matriz 9×9 com números de 0 a 9 , onde 0 representaria uma posição vazia num jogo de Sudoku. A função deve trocar todas os números errados, segundo o critério do Sudoku por 0. Você pode utilizar os métodos embutidos nas classes list e set do Python.
Passo 1
Primeiro, vamos entender o que o exercício está pedindo. Temos uma matriz 9×9 que representa um jogo de Sudoku. Nessa matriz, os números de 1 a 9 preenchem as células, e o 0 indica uma célula vazia. Nosso objetivo é verificar se os números estão corretos conforme as regras do Sudoku. Se algum número estiver errado, vamos substituí-lo por 0. Para fazer isso, precisaremos entender as regras básicas do Sudoku e como verificar se um número está na posição correta.
Passo 2
As regras do Sudoku dizem que cada número de 1 a 9 deve aparecer exatamente uma vez em cada linha, em cada coluna e em cada uma das nove submatrizes 3×3. Portanto, para verificar se um número está correto, precisamos garantir que ele não se repita na linha, na coluna ou na submatriz 3×3 correspondente.
Passo 3
Vamos começar verificando as linhas. Para cada linha da matriz, vamos criar um conjunto (set) para armazenar os números que já apareceram. Se encontrarmos um número que já está no conjunto, isso significa que ele está repetido na linha e está errado. Nesse caso, substituímos esse número por 0.
Passo 4
Depois, faremos a mesma verificação para as colunas. Percorremos cada coluna da matriz, criando um conjunto para armazenar os números já vistos. Se um número se repetir na coluna, ele está incorreto e será substituído por 0.
Passo 5
Por fim, verificamos as submatrizes 3×3. O Sudoku divide a matriz principal em nove submatrizes menores. Para cada submatriz, usamos um conjunto para verificar se há números repetidos. Se encontrarmos algum número duplicado dentro de uma submatriz, substituímos esse número por 0.
Resposta
A função
Sudoku(matriz)
percorre cada célula da matriz 9×9, verifica se o número está repetido na linha, na coluna ou na submatriz 3×3 correspondente. Se estiver repetido em qualquer desses, substitui o número por 0. No final, a matriz corrigida é retornada com os números errados substituídos por 0.Exercícios relacionados
Implemente a função area_poligono(matriz). Esta função calculará a área de um polígono convexo cujos vértices estão na matriz (
indeterminado). Dicas: utilize a função area_triangulo(mat) que calcula a área de um triângulo. Em um quadrilátero com vértices
e
, a área do mesmo consiste da soma dos triângulos com vértices
e
e
e
.
Implemente o jogo Blackjack ou 21. No caso temos apenas dois jogadores, o cliente (humano) e a banca (computador). O ás pode valer 1 ou 11, de acordo com as cartas que o jogador possui. O valete (J), a dama (Q) e o rei (K) valem 10. A simulação da obtenção das cartas deve ser feita com o uso de números aleatórios (Dica: carta
random.randint( 1,13 ), isto é, variando de 1 a 13). Os números 11, 12 e 13 representam respectivamente J, Q e K. Não há a necessidade de representar um baralho real de 52 cartas. O cliente recebe inicialmente duas cartas aleatoriamente e decide se pede outra ou não, dependendo do somatório. Caso a soma das cartas seja maior que 21, o cliente perde. O cliente pode passar a vez para a banca (que não possui cartas no início do jogo), que, para vencer, terá que obter obrigatoriamente um número maior que o cliente e MENOR do que 21, caso contrário, o cliente ganha. O jogo tem apenas uma rodada. Informe quem ganhou ou se houve empate.
Leia um vetor de 40 posições e conte quantos elementras pares encontram no vetor.
Considere um vetor de trajetórias de 9 elementos onde cada elemento possui o valor do próximo elemento a ser lido.
Índice | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
Valor | 4 | 6 | 5 | 8 | 1 | 7 | 3 | 0 | 2 |
Fazer um programa que leia esse vetor e imprima a trajetória correta: sequência de impressão 4, 1, 6, 3, 8, 2, 5, 7, 0 .