IniziaInizia gratis

Funzioni annidate I

Nell'ultimo video hai imparato ad annidare le funzioni all'interno delle funzioni. Uno dei motivi per cui vorresti farlo è evitare di scrivere ripetutamente gli stessi calcoli all'interno delle funzioni. Non c'è nulla di nuovo nella definizione di funzioni annidate: basta definirle come una normale funzione con def e inserirle all'interno di un'altra funzione!

In questo esercizio, all'interno di una funzione three_shouts(), definirai una funzione annidata inner() che concatena un oggetto stringa con !!!. three_shouts() restituisce quindi una tupla di tre elementi, ognuno dei quali è una stringa concatenata con !!! utilizzando inner(). Vai avanti!

Questo esercizio fa parte del corso

Introduzione alle funzioni in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Completa l'intestazione della funzione annidata con il nome della funzione inner() e un singolo parametro word.
  • Completa il valore di ritorno: ogni elemento della tupla deve essere una chiamata a inner(), passando i parametri di three_shouts() come argomenti di ogni chiamata.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define three_shouts
def three_shouts(word1, word2, word3):
    """Returns a tuple of strings
    concatenated with '!!!'."""

    # Define inner
    def ____(____):
        """Returns a string concatenated with '!!!'."""
        return word + '!!!'

    # Return a tuple of strings
    return (____, ____, ____)

# Call three_shouts() and print
print(three_shouts('a', 'b', 'c'))
Modifica ed esegui il codice