FC ConcursosFC Concursos

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

  1. 0;
  2. 1;
  3. 5;
  4. 8;
  5. 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

Continue aprendendo