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 60
Output: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
98
it 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