hey everyone !
So I'm currently testing yield function
So I'm currently testing yield function
#contient des exemples d'utilisation de la fonction Yield #exp 1 def exYield1() : """test de yield""" yield 1 yield 2 yield 3 print("Exemple 1 : ") for i in exYield1() : print(i) print("") #exp 2 def exYield2(bord_inf,bord_sup) : """Cette fonction avance de 2 en 2 entre des bords délimités""" while bord_inf < bord_sup : valeurRecu = (yield bord_inf) if valeurRecu is not None : bord_inf = valeurRecu bord_inf += 2 print("Exemple 2 : ") #compte de 2 en 2 de 10 à 20 for i in exYield2(10,20) : print(i) print("") print("Exemple 3 : ") #compte de 2 en 2 de 10 à 50 gen1 = exYield2(10,100) for i in gen1 : print(i) if i == 50 : gen1.close() print("") print("Exemple 4 : ") #compte de 2 en 2 de 10 à 100 mais saute les nombres de 20 à 59 gen2 = exYield2(10,100) for i in gen2 : print(i) if i == 18 : gen2.send(58)and when i get to the 4th exemple the loop does not display the number 60Output:Exemple 4 : 10 12 14 16 18 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98it only append when i launch the script, if i rewrite the code in the console(exyield2 and the 4th exemple)60 is display.Output:10 12 14 16 18 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 