Crie uma função que preenche uma matriz
com vetores fornecidos pelo usuário e calcule a soma dos elementos ímpares que estão acima da diagonal principal.
Passo 1
O enunciado pede que a gente crie uma função que preencha uma matriz
usando três vetores de tamanho 3 fornecidos pelo usuário e depois calcule a soma de todos os elementos ímpares que ficam acima da diagonal principal. Os conceitos envolvidos são:
- Leitura de entrada (vetores)
- Armazenamento em matriz bidimensional
- Iteração em pares de índices
- Verificação de ímpar e condição de estar acima da diagonal
Passo 2
Para preencher a matriz, vamos:
- Criar uma lista vazia
matriz = []
. - Fazer um laço que vai de
até :
- Ler um vetor de 3 inteiros (por exemplo, com
input().split()
emap(int, ...)
). - Adicionar esse vetor como a linha
da matriz.
Passo 3
Para calcular a soma dos ímpares acima da diagonal principal, fazemos:
- Inicializar
soma_impares = 0
. - Iterar sobre todos os pares de índices
com de 0 a 2 e de 0 a 2. - Em cada iteração, verificar se
(acima da diagonal) e se o elemento matriz[i][j]
é ímpar (usandovalor % 2 != 0
). - Se ambos forem verdadeiros, adicionar
valor
asoma_impares
.
Passo 4
No final, a função retorna (ou imprime) o valor de
soma_impares
, que é a soma desejada.Passo 5
matriz = []
for i in range(3):
linha = list(map(int, input(f"Digite 3 inteiros para a linha {i+1}, separados por espaço: ").split()))
for i in range(3):
linha = list(map(int, input(f"Digite 3 inteiros para a linha {i+1}, separados por espaço: ").split()))
Garante que o usuário digitou exatamente 3 valores
if len(linha) !
:
raise ValueError(“Você deve informar exatamente 3 números.”)
matriz.append(linha)
raise ValueError(“Você deve informar exatamente 3 números.”)
matriz.append(linha)
Passo 6
for i in range(3):
for j in range(3):
if j > i: # condição para estar acima da diagonal principal
valor = matriz[i][j]
if valor % 2 ! : # verifica se é ímpar
valor
for j in range(3):
if j > i: # condição para estar acima da diagonal principal
valor = matriz[i][j]
if valor % 2 !
Passo 7
print(“Soma dos elementos ímpares acima da diagonal principal:”,
)
return
return
Exemplo de uso:
Se o usuário entrar com:
linha 1:
linha 2:
linha 3:
Os elementos acima da diagonal são 2, 3 e 6. Desses, ímpares são 3.
Logo, a saída será 3.
Chamando a função
()
Resposta
def \(preenche_matriz_e_soma_impares\)():