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
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