Analise o código Python a seguir. L=[0,4,2,8,3,6] for k ...
Analise o código Python a seguir.
L=[0,4,2,8,3,6]
for k in(-1, -2, -1):
print (L[k])
Os valores exibidos na execução do script acima são
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - 6, 3, 6
Tema central da questão: Esta questão avalia o conhecimento sobre listas e indexação negativa em Python, tema fundamental para quem deseja dominar a manipulação de estruturas de dados em linguagens de programação. Saber como acessar elementos de uma lista por índices negativos é crucial para evitar erros comuns em códigos e para responder questões de concurso com confiança.
Resumo teórico:
Em Python, listas são estruturas ordenadas que permitem acesso a seus elementos por índices. Os índices podem ser positivos (do primeiro para o último elemento: 0, 1, 2, ...) ou negativos, que acessam os elementos de trás para frente (-1 é o último elemento, -2 o penúltimo, e assim por diante).
Fonte: Python Official Documentation - Lists
Justificativa da alternativa correta:
Veja a lista dada: L = [0, 4, 2, 8, 3, 6]
O comando for k in (-1, -2, -1): significa que o laço irá, em sequência, usar os valores -1, -2 e -1 como índice para acessar L.
- L[-1] é o último elemento: 6
- L[-2] é o penúltimo elemento: 3
- L[-1] novamente: 6
Portanto, a saída será: 6, 3, 6
Análise das alternativas incorretas:
- A - 6, 4: Mostra apenas dois valores, e não corresponde à sequência de índices (-1, -2, -1).
- B - 3, 8: Não utiliza o índice -1 corretamente, e omite um item.
- C - 3, 6, 3: Troca a ordem correta dos elementos acessados.
- E - 6, 3, 8: O terceiro valor (8) não corresponde ao índice -1, mas sim ao índice -3.
Dica de interpretação: Sempre identifique a estrutura dos índices e o sentido da contagem: índices negativos percorrem a lista de trás para frente. Anote os índices e confira cada acesso à lista para evitar distrações.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
L=[0,4,2,8,3,6]
for k in(-1, -2, -1):
print L[k] vai imprimir o valor contido no vetor L[-1], depois L[-2] e por fim L[-1] novamente.
Quando for número negativo a contagem é "de trás pra frente"
Então fica L[-1] = 6, L[-2] = 3.
6 3 6
Considerando que o Qconcursos digitou certo, a questão não tem resposta pois:
for i in range(inicio,fim,passo):
...
início entra no laço e a cada iteração é incrementado de um "passo" até "fim" exclusive.
Para laços como o do comando da questão, inicialmente k = -1, em seguida k = -2 e não entra no laço, assim ,deveria ter impresso apenas o 6.
L = [0, 4, 2, 8, 3, 6]
Aqui, criamos uma lista chamada L com os valores [0, 4, 2, 8, 3, 6].
for k in (-1, -2, -1):
Aqui, estamos iterando sobre uma tupla contendo os elementos -1, -2 e -1. Isso significa que k será atribuído primeiro o valor -1, depois -2 e finalmente -1 novamente.
print(L[k])
Dentro do loop, estamos imprimindo o elemento de L cujo índice é o valor atual de k.
Vamos executar o código:
Para k = -1, L[-1] retorna o último elemento da lista L, que é 6.
Para k = -2, L[-2] retorna o penúltimo elemento da lista L, que é 3.
Para k = -1 novamente, retorna o último elemento da lista L, que é 6.
6
3
6
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo