← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Analise o código Python a seguir. L=[3,5,1,7] while len(L) < 8: L.append(L[-2] - L[-1]) print (L) O último número exibido pelo comando print é:

Gabarito: E

A questão cobra leitura de lista, índice negativo e laço while em Python. O detalhe importante é que L[-1] acessa o último elemento e L[-2] acessa o penúltimo. Então, em cada volta do laço, o programa pega esses dois valores e insere na lista a diferença entre o penúltimo e o último. Começando com L = [3, 5, 1, 7], a lista tem tamanho 4, então o while roda até chegar a 8 elementos. Na primeira repetição, entra 1 - 7 = -6. Na segunda, entra 7 - (-6) = 13. Na terceira, entra -6 - 13 = -19. Na quarta, entra 13 - (-19) = 32. Quando a lista alcança 8 elementos, o laço para. Portanto, o print mostra [3, 5, 1, 7, -6, 13, -19, 32], e o último número exibido é 32. É o tipo de questão em que um passo em falso no índice faz a conta inteira desandar, como se Python estivesse fazendo pegadinha com você. Assim, o gabarito correto é a alternativa E.

Continue treinando

Questões relacionadas