+ 1

¿Alguien puede explicarme este ejercicio?

Estoy estudiando programación funcional en python, y hay algunos ejercicios que logró hacer y otros que no. ¿Alguien puede explicarme porque este me da 42? 1.def func(x, y): 2. return x(x(y)) 3. 4.def second(m): 5. return m + m * m 6. 7.print(func(second, 2))

21st Apr 2020, 11:11 PM
Orking20
Orking20 - avatar
4 Answers
+ 1
Hola Orking20, no sé mucho de Python pero entiendo un poco el codigo poreso voy a tratar de ayudarte: 1) print manda a imprimir una función. 2) func recibe una función y un valor. 3) second recibe 2, hace la cuenta y devuelve 6. 4) func recibe ese 6 y lo manda a second devuelta porque se la vuelve a llamar. 5) second recibe 6, hace la cuenta y devuelve 42. 6) func recibe el 42 y lo devuelve a print que fue el primero que lo llamo. 7) print muestra por pantalla el resultado final. Saludos.
22nd Apr 2020, 12:37 AM
Nicolás Vázquez
Nicolás Vázquez - avatar
0
Hola, Nico! Gracias por la respuesta. Ok, supongo que al 42 se llega haciendo 6 * 6 + 6 Pero no entiendo como se llegan a tener esos tres 6
22nd Apr 2020, 1:24 AM
Orking20
Orking20 - avatar
0
Ok, ya entendí jajaja gracias!
22nd Apr 2020, 2:56 AM
Orking20
Orking20 - avatar
0
x ( x ( 2 ) ) x ( 2 ) = 6 x ( 6 ) = 42
22nd Apr 2020, 2:59 AM
Nicolás Vázquez
Nicolás Vázquez - avatar