1. Apprendre
  2. /
  3. Cours
  4. /
  5. Boîte à outils Python

Connected

Exercice

Créer un générateur

Dans les exercices précédents, vous avez surtout écrit des expressions génératrices en utilisant la syntaxe des compréhensions. Pouvoir utiliser cette syntaxe pour les expressions génératrices vous a grandement simplifié la tâche!

Souvenez-vous maintenant de la vidéo : en plus des expressions génératrices, il existe aussi des fonctions génératrices. Les fonctions génératrices sont des fonctions qui, comme les expressions génératrices, produisent une série de valeurs, plutôt que de retourner une seule valeur. Une fonction génératrice se définit comme une fonction normale, mais chaque fois qu'elle produit une valeur, elle utilise le mot-clé yield au lieu de return.

Dans cet exercice, vous allez créer une fonction génératrice qui fonctionne de façon semblable à l'expression génératrice que vous avez définie à l'exercice précédent :

lengths = (len(person) for person in lannister)

Instructions

100 XP
  • Complétez l'en-tête de la fonction get_lengths() qui prend un seul paramètre, input_list.
  • Dans la boucle for de la définition de la fonction, utilisez yield pour renvoyer la longueur des chaînes dans input_list.
  • Complétez la partie itérable de la boucle for pour afficher les valeurs générées par la fonction génératrice get_lengths(). Fournissez l'appel à get_lengths() en lui passant la liste lannister.