Veamos un ejemplo de un generador de números. Creamos una función que no usa return. Lo que hace un generador es usar yield. Esto permite generar los valores de uno en uno, a medida que se van pidiendo.
Ejemplo 1
#Ejemplo de un Generador en Python
#Primero, veamos un caso que genera del 0 al max que digamos
def contador(max):
n=0
while n<=max:
yield n
n+=1
mycont=contador(5) #mycont es un objeto iterable
for i in mycont: #recorremos el objeto iterable
print(i)
#print(mycont)
Ejemplo 2
#Segundo, generamos n números aleatorios entre 0 y 100, ambos incluidos
import random
def generaRandom(n):
for i in range(n+1):
yield random.randint(1000,2001)
alea=generaRandom(10)
for j in range(1,10+1):
print(j,":",end='')
print(next(alea))
No hay comentarios:
Publicar un comentario