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
