Questão FC331196
Analise o código Python a seguir. L=[1] while len(L) < 6: L.append(L[-1]*len(L)) print L Assinale o que acontece com esse código quando o comando Run Module (F5) é acionado na inte
Linguagens de Programação
FGV · 2018
Analise o código Python a seguir.
L=[1]
while len(L) < 6:
L.append(L[-1]*len(L))
print L
Assinale o que acontece com esse código quando o comando Run Module (F5) é acionado na interface IDLE (Python GUI).
- Os valores [1, 2, 3, 4, 5, 6] são exibidos.
- Os valores [1, 2, 2, 4, 8, 32] são exibidos.
- Os valores [1, 1, 2, 6, 24, 120] são exibidos.
- Um erro de compilação.
- Um erro de execução.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O código executa o laço while enquanto len(L) < 6. A cada iteração é chamado append com o valor L[-1]*len(L), ou seja, multiplica-se o último elemento pelo tamanho atual da lista.
Começando com L = [1]:
- len(L)=1 → adiciona \(1\times1=1\) → L=[1,1]
- len(L)=2 → adiciona \(1\times2=2\) → L=[1,1,2]
- len(L)=3 → adiciona \(2\times3=6\) → L=[1,1,2,6]
- len(L)=4 → adiciona \(6\times4=24\) → L=[1,1,2,6,24]
- len(L)=5 → adiciona \(24\times5=120\) → L=[1,1,2,6,24,120]
Quando len(L) chega a 6, o laço termina e o print exibe [1, 1, 2, 6, 24, 120], que corresponde aos fatoriais de 0! a 5!.
Conteúdo do catálogo FC Concursos · Atualizado em