Observe o seguinte trecho de código escrito na linguagem Python. def f(n): return lambda a : 1 + n f1 = f(2) f2 = f(3) print(f1(3) + f2(1)) Analisando esse trecho de código é correto afirmar que ele irá imprimir o valor
Alternativas
A)
7
B)
5
C)
12
D)
4
E)
14
Gabarito e comentário
Resposta correta: A
A alternativa A está correta. A função f recebe n e devolve uma função lambda que calcula 1 + n. O parâmetro a da lambda não participa da expressão. Assim, f1(3) resulta em 1 + 2, que é 3, e f2(1) resulta em 1 + 3, que é 4. A soma impressa pelo programa é 7, independentemente dos argumentos 3 e 1 passados às duas funções. Assim, a resposta é: 7
A alternativa A está correta. A função f recebe n e devolve uma função lambda que calcula 1 + n. O parâmetro a da lambda não participa da expressão. Assim, f1(3) resulta em 1 + 2, que é 3, e f2(1) resulta em 1 + 3, que é 4. A soma impressa pelo programa é 7, independentemente dos argumentos 3 e 1 passados às duas funções. Assim, a resposta é: 7