Questão nº 50
Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 50)
Analise o código Python a seguir.
```python
L=[0,1,1,2,3,5,8,13]
for k in range(1,len(L)):
L[k],L[k-1] = L[k-1],L[k]
print L[-1]
```
O último valor exibido na execução desse código é:
- A0; (alternativa correta)
- B1;
- C5;
- D8;
- E13.
Resposta comentada
Gabarito Alternativa A
Em Python, a atribuição simultânea permite trocar os valores de duas variáveis (ou posições em uma lista) em uma única linha, avaliando todos os valores do lado direito antes de fazer qualquer atribuição. Um loop for percorre uma sequência, e a indexação de listas (L[k]) permite acessar ou modificar elementos em posições específicas.
- (A) Correta: O código executa um loop que, em cada iteração
k, troca o elementoL[k]com o elementoL[k-1]. Isso significa que o primeiro elemento da lista, que é0(L[0]), é progressivamente "empurrado" para a direita. Na primeira iteração (k=1),0é trocado com1e vai paraL[1]. Na segunda (k=2), o0(agora emL[1]) é trocado com1e vai paraL[2], e assim por diante. Ao final do loop, o0original deL[0]terá se movido para a última posição da lista (L[len(L)-1]). O comandoprint L[-1]exibe o último elemento da lista, que será0. - (B) Incorreta: Embora
1seja o segundo e terceiro elemento inicial, ele não é o valor que termina na última posição da lista. - (C) Incorreta: O valor
5está no meio da lista e é trocado com outros valores durante a execução, mas não é o que termina na última posição. - (D) Incorreta: O valor
8está no meio da lista e é trocado com outros valores durante a execução, mas não é o que termina na última posição. - (E) Incorreta: O valor
13é o último elemento inicial da lista. No entanto, na última iteração do loop (k=7),L[7](que é13) é trocado comL[6](que, a essa altura, já contém o0que veio "empurrado" desde o início da lista). Assim, o13vai paraL[6]e o0vai paraL[7]. A armadilha aqui é assumir que o último elemento original permanece no lugar ou que a lista é invertida.
Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.