← Questões de Programação

Programação · FGV · 2022

Questão comentada de Programação

Considere o código Python a seguir. L=[0,1,1,2,3,5,8,13,21] for k in range(0,len(L),2): print (L[k]) Assinale o resultado exibido pela execução desse código, na IDLE Shell 3.9.9.

Gabarito: D

Em Python, o comando range(0, len(L), 2) gera uma sequência de índices começando em 0, indo até antes de len(L), e pulando de 2 em 2. Como a lista L tem 9 elementos, os índices visitados serão 0, 2, 4, 6 e 8. A cada volta do laço, o código faz print(L[k]), ou seja, imprime o valor guardado naquela posição da lista, e não o índice em si. Isso costuma confundir porque o olho corre para o range, mas o que aparece na tela é o conteúdo da lista. No caso da sequência de Fibonacci dada, L[0]=0, L[2]=1, L[4]=3, L[6]=8 e L[8]=21. Portanto, a execução exibe 0, 1, 3, 8, 21, cada um em uma linha na IDLE Shell. A alternativa D está correta exatamente por seguir esses índices pares até o final da lista. A lógica é simples: range com passo 2 seleciona posições alternadas, e print mostra o elemento da posição escolhida. Em prova, vale lembrar que len(L) não entra como índice, porque o último índice válido é len(L)-1. Então o 9 serve só para limitar o laço, não para ser impresso.

Continue treinando

Questões relacionadas