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
Instructions
- Complétez l’en-tête de la fonction imbriquée avec le nom de la fonction
inner()
et un seul paramètreword
. - Complétez la valeur de retour : chaque élément du tuple doit être un appel à
inner()
, et doit passer les paramètres dethree_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'))