ComenzarEmpieza gratis

Funciones anidadas II

Buen trabajo, acabas de anidar una función dentro de otra función. Otra razón bastante interesante para anidar funciones es la idea de cierre. Esto significa que la función anidada o interna recuerda el estado del ámbito que la rodea cuando se llama. Así, todo lo que se defina localmente en el ámbito envolvente estará disponible para la función interna incluso cuando la función externa haya finalizado su ejecución.

¡Avancemos entonces! En este ejercicio, completarás la definición de la función interna inner_echo() y luego llamarás a echo() un par de veces, cada una con un argumento distinto. ¡Completa el ejercicio y mira cuál será el resultado!

Este ejercicio forma parte del curso

Introducción a las funciones en Python

Ver curso

Instrucciones del ejercicio

  • Completa el encabezado de la función interna con el nombre de la función inner_echo() y un único parámetro word1.
  • Completa la función echo() para que devuelva inner_echo.
  • Hemos llamado a echo(), hemos pasado 2 como argumento y hemos asignado la función resultante a twice. Tu trabajo consiste en llamar a echo() y pasar 3 como argumento. Asigna la función resultante a thrice.
  • Pulsa Enviar para llamar a twice() y thrice() e imprimir los resultados.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Define echo
def echo(n):
    """Return the inner_echo function."""

    # Define inner_echo
    def ____(____):
        """Concatenate n copies of word1."""
        echo_word = word1 * n
        return echo_word

    # Return inner_echo
    

# Call echo: twice
twice = echo(2)

# Call echo: thrice


# Call twice() and thrice() then print
print(twice('hello'), thrice('hello'))
Editar y ejecutar código