Aan de slagGa gratis aan de slag

Geneste functies I

In de laatste video heb je geleerd hoe je functies binnen functies kunt nesten. Een reden om dit te doen is om te voorkomen dat je dezelfde berekeningen telkens opnieuw binnen functies uitschrijft. Er is niets nieuws aan het definiëren van geneste functies: je definieert ze net als een gewone functie met def en plaatst ze binnen een andere functie!

In deze oefening definieer je binnen de functie three_shouts() een geneste functie inner() die een string-object samenvoegt met !!!. three_shouts() retourneert vervolgens een tuple met drie elementen, waarbij elk element een string is die met inner() is samengevoegd met !!!. Aan de slag!

Deze oefening maakt deel uit van de cursus

Introductie tot functies in Python

Cursus bekijken

Oefeninstructies

  • Maak de functieheader van de geneste functie compleet met de functienaam inner() en één parameter word.
  • Maak de geretourneerde waarde compleet: elk element van de tuple moet een aanroep van inner() zijn, waarbij je de parameters van three_shouts() als argumenten aan elke aanroep meegeeft.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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'))
Code bewerken en uitvoeren