CommencezCommencez gratuitement

Fonctions imbriquées I

Dans la dernière vidéo, vous avez vu comment imbriquer des fonctions à l'intérieur d'autres fonctions. L'une des raisons de le faire est d'éviter de réécrire les mêmes calculs à répétition. Rien de nouveau quant à la définition d'une fonction imbriquée : vous la définissez comme une fonction ordinaire avec def, puis vous l'insérez dans une autre fonction!

Dans cet exercice, à l'intérieur d'une fonction three_shouts(), vous allez définir une fonction imbriquée inner() qui concatène une chaîne de caractères avec !!!. La fonction three_shouts() retourne ensuite un tuple de trois éléments, où chaque chaîne est concaténée avec !!! grâce à inner(). À vous de jouer!

Cette activité fait partie du cours

Introduction aux fonctions en Python

Voir le cours

Instructions de l’exercice

  • Complétez l'en-tête de la fonction imbriquée avec le nom inner() et un seul paramètre word.
  • Complétez la valeur de retour : chaque élément du tuple doit être un appel à inner(), en lui passant les paramètres de three_shouts() comme arguments à chaque appel.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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'))
Modifier et exécuter le code