Quelque chose ne va pas avec le générateur donné en exemple sur ce site:
http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-python/les-generateurs
L'auteur dit en commentaire "On saute à 20"
Je suppose qu'il s'attend à ce que son code fournisse comme résultat:
11 12 13 14 15 20 21 22 23 24
moi en lisant le code, je suis persuadé que le programme devrait fournir
11 12 13 14 15 21 22 23 24
or le programme fournit à l'execution
11 12 13 14 15 22 23 24
J'ai étudié en debug ce qui se passe exactement.
A chaque passage sur la ligne "for nombre in generateur:" on execute
un tour dans la boucle while de la fonction intervalle en s'arrêtant sur
la ligne contenant le yield.
mais quand on atteint 15, le programme principal appelle "generateur.send(20)"
et là surprise on fait de nouveau un tour dans la boucle while de la fonction
intervalle ! Je suppose que 21 est envoyé mais passe à la trappe.
Ce comportement me parait aberrant
Que faut il en penser ?