Pular para o conteúdo principal

Questão de Programação — Python — FGV 2024

ProgramaçãoPython
Código
fg077095
Banca
FGV
Órgão
CGM de Belo Horizonte - MG
Ano
2024
Nível
Superior
Cargo
Auditor Interno - Ciência da Computação - Manhã
Analise o trecho código Python a seguir.AREA = [3.7, 5.356, 4.9061, 4.32092, 9.038758, 32.5434846]resultado = list(map(round, AREA, range(1,5)))print(resultado)O valor impresso é
  1. A[4.0, 5.36, 4.906].
  2. B[3.7, 5.36, 4.906, 4.3209].
  3. C[3.7, 5.36, 4.906, 4.3209, 9.03876].
  4. D[4.0, 5.36, 4.906, 4.3209, 9.03876, 32.54348].
Revelar gabarito e comentário

GabaritoB — [3.7, 5.36, 4.906, 4.3209].

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Função map e round em Python

Gabarito: letra B. O código usa map(round, AREA, range(1,5)), que aplica round combinando cada elemento de AREA com o respectivo valor de range(1,5). Como range(1,5) gera os números 1,2,3,4, o map itera apenas 4 vezes, arredondando os quatro primeiros elementos de AREA para 1,2,3 e 4 casas decimais respectivamente, gerando a lista [3.7, 5.36, 4.906, 4.3209].

  1. 1range(1,5) gera [1,2,3,4]
  2. 2map itera 4 vezes (menor iterável)
  3. 3round(3.7, 1) → 3.7
  4. 4round(5.356, 2) → 5.36
  5. 5round(4.9061, 3) → 4.906
  6. 6round(4.32092, 4) → 4.3209
  7. 7Resultado: [3.7, 5.36, 4.906, 4.3209]
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Apresenta apenas 3 elementos, mas o código produz 4. Além disso, o primeiro valor é 4.0, enquanto o correto é 3.7 (arredondamento com ndigits=1).

Alternativa B — ✅ Correta ⟵ GABARITO

Lista exata com 4 elementos: [3.7, 5.36, 4.906, 4.3209], resultado da aplicação de round com 1,2,3 e 4 casas.

Alternativa C — ❌ Incorreta

Contém um quinto elemento (9.03876), mas map só foi chamado 4 vezes devido ao range(1,5) ter apenas 4 valores.

Alternativa D — ❌ Incorreta

Contém 6 elementos, o que seria se map iterasse sobre toda a lista AREA, mas o segundo iterável (range(1,5)) limita a 4 iterações.

NÃO CAIA NESSA!

A armadilha está em supor que map percorrerá toda a lista AREA (6 elementos). Na verdade, map para no menor iterável — range(1,5) tem 4 valores. Outra confusão comum é achar que round(3.7, 1) resulta em 4.0, mas o arredondamento padrão de Python (bankers rounding) para 1 casa decimal mantém 3.7.

Conclusão: O código imprime [3.7, 5.36, 4.906, 4.3209], portanto a alternativa correta é a B.

Link permanente: /questoes/fg077095