Alternativa A
A questão aborda o conceito de iteração sobre matrizes bidimensionais em Python. O objetivo é identificar qual código percorre corretamente os elementos de uma matriz com 3 linhas e 4 colunas sem gerar erros de índice.
Para percorrer uma matriz corretamente, utilizam-se dois laços aninhados: um para as linhas (linhas externas) e outro para as colunas (linhas internas).
Análise Detalhada
- Estrutura da Matriz: A matriz possui 3 linhas e 4 colunas. Isso significa que ela não é quadrada.
- Linhas (índices
i): variam de 0 a 2. - Colunas (índices
j): variam de 0 a 3. - Lógica do Código Correto (Alternativa A):
- O loop externo
for i in range(len(matriz)) percorre as linhas corretamente (3 iterações). - O loop interno
for j in range(len(matriz[i])) percorre as colunas daquela linha específica (4 iterações). - O acesso
print(matriz[i][j]) utiliza a ordem correta [linha][coluna]. - O
return matriz está fora dos loops, garantindo que o retorno ocorra após todo o processamento. - Por que as outras opções estão incorretas?
- Alternativa B: Utiliza
print(matriz[j][i]). Em uma matriz retangular (não quadrada), isso tenta acessar a coluna como linha. Como existem mais colunas (4) do que linhas (3), ao tentar acessar matriz[3], o Python lançará um erro IndexError. - Outras Alternativas: Geralmente contêm erros de sintaxe (como falta de dois pontos), indentação incorreta ou uso de valores fixos (hardcoded) que não se adaptam à estrutura dinâmica da lista.
Conclusão
A alternativa A é a única que implementa a lógica padrão de varredura de matriz (for sobre linhas, for sobre colunas) com a sintaxe correta de acesso ao elemento (matriz[i][j]), evitando erros de índice em matrizes retangulares.