Questão nº 61
Questão de Análise de Dados · FGV TCU 2021 (nº 61)
FGV2021Auditor Federal de Controle Externo - Área Controle Externo (AUFC-CE)Análise de Dados
Gabarito: Cver comentário ↓
Considere o código Python a seguir.
def xpto(S):
for k in range(0,len(S)):
if k%2 == 0:
yield(S[k]);
S=[1,2,3,4,5,6]
for x in xpto(S[::-1]):
print (x)
A execução desse código na IDLE Shell produz, na ordem e exclusivamente, os números:
- A6, 1
- B5, 3, 1
- C6, 4, 2 (alternativa correta)
- D1, 3, 5
- E2, 4, 6
Resposta comentada
Gabarito Alternativa C
Um gerador em Python é uma função especial que usa a palavra-chave yield para retornar valores um por um, pausando sua execução e retomando-a de onde parou quando um novo valor é solicitado. Isso é eficiente para processar sequências grandes, pois não precisa armazenar todos os valores na memória de uma vez.
- (A) Incorreta: Esta alternativa não considera corretamente a inversão da lista e a seleção de elementos pelos índices pares.
- (B) Incorreta: Esta alternativa parece considerar os elementos da lista original em posições ímpares, ou os valores ímpares da lista invertida, o que não corresponde ao critério
k%2 == 0(índice par). - (C) Correta: Primeiro, a lista
Sé invertida usandoS[::-1], resultando em[6, 5, 4, 3, 2, 1]. A funçãoxptoentão itera sobre esta lista invertida. Ela retorna os elementos cujos índices são pares (k%2 == 0).- Para
k=0,S[0]é6. (0 é par) - Para
k=1,S[1]é5. (1 é ímpar, ignorado) - Para
k=2,S[2]é4. (2 é par) - Para
k=3,S[3]é3. (3 é ímpar, ignorado) - Para
k=4,S[4]é2. (4 é par) - Para
k=5,S[5]é1. (5 é ímpar, ignorado)
Os números impressos serão6,4,2.
- Para
- (D) Incorreta: (Armadilha da banca) Esta alternativa é tentadora para quem esquece ou ignora a operação
S[::-1]e aplica a lógica dek%2 == 0diretamente à listaSoriginal[1, 2, 3, 4, 5, 6]. Nesse caso, os elementos nos índices pares seriamS[0]=1,S[2]=3,S[4]=5. No entanto, a lista é invertida antes de ser passada para a função. - (E) Incorreta: Esta alternativa consideraria os elementos em índices ímpares da lista original, ou os elementos em índices pares da lista invertida mas com a ordem dos valores trocada.
Fonte: FGV TCU 2021 Auditor Federal de Controle Externo - Área Controle Externo (AUFC-CE) (Caderno Tipo 1). Reproduzida para fins de estudo.