Questão de Programação — Python — FGV 2023
- Código
- fg070751
- Banca
- FGV
- Órgão
- SMPOG de Belo Horizonte - MG
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Planejamento e Gestão Governamental: Ciência da Computação
- A3
- B7
- C21
- Dundefined
GabaritoC — 21
Gabarito: letra C. O código define a função calcula(n) que retorna uma expressão lambda x : x * n. Ao chamar calcula(3), o parâmetro n é fixado em 3, criando uma closure que multiplica seu argumento por 3. A variável fcalcula recebe essa função lambda, e ao executar fcalcula(7), o resultado é 7 * 3 = 21.
O valor 3 corresponde ao parâmetro n passado para calcula, mas não é o valor retornado pela função fcalcula. A saída do programa é o resultado da multiplicação.
O valor 7 é o argumento passado para fcalcula, ou seja, o valor de x na lambda. No entanto, o resultado final é o produto de x por n, não apenas x.
Conforme explicado, fcalcula(7) equivale a (lambda x: x * 3)(7), que resulta em 21. Esse é o valor impresso pelo print.
Python não possui o valor undefined; variáveis não definidas geram NameError. O código apresentado é válido e não lança exceção, portanto a saída não é undefined.
Gabarito: letra C.
Link permanente: /questoes/fg070751