MulaiMulai sekarang secara gratis

The keyword nonlocal and nested functions

Let's once again work further on your mastery of scope! In this exercise, you will use the keyword nonlocal within a nested function to alter the value of a variable defined in the enclosing scope.

Latihan ini adalah bagian dari kursus

Introduction to Functions in Python

Lihat Kursus

Petunjuk latihan

  • Assign to echo_word the string word, concatenated with itself.
  • Use the keyword nonlocal to alter the value of echo_word in the enclosing scope.
  • Alter echo_word to echo_word concatenated with '!!!'.
  • Call the function echo_shout(), passing it a single argument 'hello'.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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'
____
Edit dan Jalankan Kode