CommencerCommencer gratuitement

Fonctions imbriquées I

Dans la dernière vidéo, vous avez appris à imbriquer des fonctions les unes dans les autres. Si l’on souhaite procéder de la sorte, c’est notamment pour éviter d’écrire à plusieurs reprises les mêmes calculs dans les fonctions. Il n’y a rien de nouveau dans la définition des fonctions imbriquées : vous les définissez simplement comme vous le feriez pour une fonction ordinaire avec def et vous les imbriquez à l’intérieur d’une autre fonction !

Dans cet exercice, à l’intérieur d’une fonction three_shouts(), vous définirez une fonction imbriquée inner() qui concatène un objet de type chaîne de caractères avec !!!. three_shouts() renvoie ensuite un tuple de trois éléments, chacun étant une chaîne de caractères concaténée avec !!! à l’aide de inner(). Allez-y !

Cet exercice fait partie du cours

Introduction aux fonctions en Python

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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