FC ConcursosFC Concursos

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.

  1. 3
  2. 7
  3. 21
  4. 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

Continue aprendendo