FC ConcursosFC Concursos

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).

  1. Os valores [1, 2, 3, 4, 5, 6] são exibidos.
  2. Os valores [1, 2, 2, 4, 8, 32] são exibidos.
  3. Os valores [1, 1, 2, 6, 24, 120] são exibidos.
  4. Um erro de compilação.
  5. 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

Continue aprendendo