Questão FC331158
Analise o código Python a seguir. def calcula(n): return lambda x : x *n fcalcula = calcula(3) print(fcalcula(7)) Assinale o valor exibido pela execução desse código.
Linguagens de Programação
FGV · 2023
Analise o código Python a seguir.
def calcula(n):
return lambda x : x *n
fcalcula = calcula(3)
print(fcalcula(7))
Assinale o valor exibido pela execução desse código.
- 3
- 7
- 21
- undefined
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A função calcula recebe n e retorna uma lambda que multiplica seu argumento por esse n. Essa lambda é uma função anônima definida como lambda x: x * n.
Ao executar fcalcula = calcula(3), criamos um fechamento (closure): uma função que lembra o valor de n igual a 3. Assim, fcalcula equivale a uma função que calcula x * 3.
Quando chamamos fcalcula(7), a operação realizada é \(7 \times 3\), resultando em 21. Portanto, o código imprime 21.
Conteúdo do catálogo FC Concursos · Atualizado em