8. Functions calling Functions - Funciones que llaman a funciones

spanish

#1



Buenos días,

¿Como están?

Español: Estoy teniendo un problema de comprensión respecto a esta parte, que considero fundamental para poder seguir avananzo. No logro entender como llamar a una función desde otra función. ¿alguien me podría ayudar?

Inglish: I´m having a problem respect to this exercise, that i consider base to keep learning. I don´t understunt how to call a function in a function. someone can help me?

https://www.codecademy.com/es/courses/python-beginner-es-ACNhE/1/5?curriculum_id=50fc7aab5fab3aa9c2002444


Traceback (most recent call last):
File "python", line 13, in
TypeError: se_paga() takes exactly 2 arguments (1 given)


Español: Lo que me solicita el ejercicio es que logre que la función "amor_con_amor" sea llamada en la función "se_paga" para obtener siempre el resultado de la función 1 más lo que sucede en la función 2.

Sin embargo no logro comprender como hacer esto ni la lógica de como una función llama a otra utilizando el resultado.

Inglish: The excersice tell me that i nedd to call function "amor_con_amor" in function "se_paga" to get the result of de first function plus de result of the second.

But i don`t understunt, how to call the function in and other fuction to get that result.


def amor_con_amor(n):
    resultado = n + 1
    print resultado
    return resultado

    
def se_paga(func,n):
    print amor_con_amor + 2
    return amor_con_amor + 2


amor_con_amor(5)
frase = se_paga(amor_con_amor(5))
print frase

Desde ya muchas gracias.

Saludo,


#2

Lo resolví,

Entiendo ahora que, una función puede llamar a otra con solo escribir su nombre en la función, sin embargo, la el argumento que se le debe colocar en el paréntesis, es el argumento de la función desde la cual se la quiere llamar, en este caso "n" quedando así: amor_con_amor(n)

La "n" lo que hace es tomar el argumento que se le asigna a se_paga y lo aplica también en la función amor_con_amor(b).

Osea que "b" y "n" serían lo mismo, solo que si lo llamamos como "b" solo va a aplicar para la primera función, en cambio si lo llamamos por "n" lo llamará en ambas ya que están vinculadas por el llamado de una a la otra.

def amor_con_amor(b):
    resultado = b + 1
    return resultado

    
def se_paga(n):
    return amor_con_amor(n) + 2


print amor_con_amor(5)
print se_paga (5)

#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.