IniziaInizia gratis

Funzioni annidate II

Ottimo lavoro, hai appena annidato una funzione all'interno di un'altra funzione. Un'altra ragione interessante per annidare le funzioni è l'idea della chiusura. Questo significa che la funzione annidata o interna ricorda lo stato del suo ambito quando viene chiamata. In questo modo, qualsiasi cosa definita localmente nell'ambito racchiuso è disponibile per la funzione interna anche quando la funzione esterna ha terminato l'esecuzione.

Andiamo avanti allora! In questo esercizio completerai la definizione della funzione interna inner_echo() e poi chiamerai echo() un paio di volte, ognuna con un argomento diverso. Completa l'esercizio e guarda quale sarà il risultato!

Questo esercizio fa parte del corso

Introduzione alle funzioni in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Completa l'intestazione della funzione interna con il nome della funzione inner_echo() e un singolo parametro word1.
  • Completa la funzione echo() in modo che restituisca inner_echo.
  • Abbiamo chiamato echo(), passando 2 come argomento, e abbiamo assegnato la funzione risultante a twice. Il tuo compito è chiamare echo(), passando 3 come argomento. Assegna la funzione risultante a thrice.
  • Premi Invia per chiamare twice() e thrice() e stampare i risultati.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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'))
Modifica ed esegui il codice