Questão FC331120
Analise o código Python a seguir. 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 é:
Linguagens de Programação
FGV · 2024
Analise o código Python a seguir.
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 é:
- 0;
- 1;
- 5;
- 8;
- 13.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
O código inicia com a lista L = [0,1,1,2,3,5,8,13] e percorre índices a partir de 1 até len(L)-1. A expressão range(1,len(L)) gera \(k=1,\dots,7\), ou seja, todos os índices adjacentes ao 0.
Na linha L[k], L[k-1] = L[k-1], L[k] ocorre uma atribuição simultânea (troca) entre elementos vizinhos. Por ser simultânea, nenhum valor é perdido: cada iteração troca o elemento na posição \(k-1\) com o de \(k\).
Isso faz o elemento inicial 0 avançar uma posição a cada iteração: após k=1 fica em índice 1, depois em 2, e assim por diante até atingir o último índice.
Ao final do laço o 0 está na posição final e L[-1] retorna esse valor. Logo, o programa imprime 0.
Conteúdo do catálogo FC Concursos · Atualizado em