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

Para resolver esta questão, é essencial compreender como o Python trata índices negativos em listas. Em Python, um índice negativo acessa os elementos da lista começando pelo final. Assim, L[-1] refere-se ao último elemento, L[-2] ao penúltimo e assim por diante.

A lista em questão é L = [0, 4, 2, 8, 3, 6]. Quando utilizamos índices negativos, acessamos os elementos a partir do fim da lista:

  • L[-1] é 6 (último elemento da lista)
  • L[-2] é 3 (penúltimo elemento da lista)

Observando o laço for no código:

for k in(-1, -2, -1):
    print(L[k])

Percebe-se que o laço fará a impressão dos elementos na seguinte ordem de índices: -1, -2, -1. Isso significa que o código imprimirá os elementos:

  • Primeira iteração: índice -1 - imprime 6
  • Segunda iteração: índice -2 - imprime 3
  • Terceira iteração: índice -1 novamente - imprime 6

Portanto, a sequência impressa pelo código será: 6, 3, 6, o que corresponde à alternativa D.

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