Analise o código Python a seguir. L=[0,4,2,8,3,6] for k ...

Próximas questões
Com base no mesmo assunto
Q2287680 Programação

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

Alternativas

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