Questão nº 52
Questão de Tecnologia da Informação · FGV PCAM 2021 (nº 52)
FGV2021Perito Criminal - 4ª Classe - Processamento de DadosTecnologia da Informação
Gabarito: Dver comentário ↓
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.
- A1, 2, 5, 13
- B0, 1, 3, 8, 21, 1, 2, 5, 13, 21
- C1, 3, 8, 21, 1, 2, 5, 13, 21
- D0, 1, 3, 8, 21 (alternativa correta)
- E0, 1, 3, 8
Resposta comentada
Gabarito Alternativa D
O código Python usa um laço for para percorrer uma lista (L) usando índices gerados pela função range(). A função range(início, fim, passo) gera uma sequência de números que começa em início, vai até antes de fim, pulando de passo em passo.
- (A) Incorreta: Esta alternativa ignora o primeiro elemento da lista e não segue o padrão de índices gerados por
range(0, len(L), 2). - (B) Incorreta: Esta alternativa apresenta uma sequência muito mais longa e complexa, que não corresponde à lógica de um único laço
foriterando sobre a listaLcom orangeespecificado. - (C) Incorreta: Similar à alternativa A, esta também ignora o primeiro elemento e não corresponde aos índices corretos.
- (D) Correta: O
len(L)é 9. Então,range(0, 9, 2)gera os índices0, 2, 4, 6, 8. O laçoforacessaL[0](que é 0),L[2](que é 1),L[4](que é 3),L[6](que é 8) eL[8](que é 21). O resultado é0, 1, 3, 8, 21. - (E) Incorreta: A armadilha aqui é parar um elemento antes do correto.
range(0, 9, 2)gera o último índice como 8, pois 8 ainda é menor que 9. Se o aluno esquecer que ostopemrangeé exclusivo e que o último índice gerado pode serstop - 1(oustop - 2dependendo dostep), ele pode parar no índice 6, perdendo oL[8].
Fonte: FGV PCAM 2021 Perito Criminal - 4ª Classe - Processamento de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.