ComenzarEmpieza gratis

La palabra clave no local y las funciones anidadas

¡Vamos a trabajar una vez más en tu dominio del alcance! En este ejercicio, utilizarás la palabra clave nonlocal dentro de una función anidada para modificar el valor de una variable definida en el ámbito que la encierra.

Este ejercicio forma parte del curso

Introducción a las funciones en Python

Ver curso

Instrucciones de ejercicio

  • Asigna a echo_word la cadena word, concatenada consigo misma.
  • Utiliza la palabra clave nonlocal para modificar el valor de echo_word en el ámbito que lo rodea.
  • Cambia echo_word a echo_word concatenado con '!!!'.
  • Llama a la función echo_shout() y pásale un único argumento "hola".

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Define echo_shout()
def echo_shout(word):
    """Change the value of a nonlocal variable"""
    
    # Concatenate word with itself: echo_word
    ____
    
    # Print echo_word
    print(echo_word)
    
    # Define inner function shout()
    def shout():
        """Alter a variable in the enclosing scope"""    
        # Use echo_word in nonlocal scope
        ____
        
        # Change echo_word to echo_word concatenated with '!!!'
        echo_word = ____
    
    # Call function shout()
    shout()
    
    # Print echo_word
    print(echo_word)

# Call function echo_shout() with argument 'hello'
____
Editar y ejecutar código