1 usuario conectado

Funciones. Generadores en Python. Ejercicios

Comparte esto

  Ejercicio 1: Generador de Números Pares

  1. Crea una función generadora llamada generador_pares que tome un número entero n como argumento.
  2. El generador debe producir todos los números pares desde 0 hasta n (inclusive).
  3. Utiliza un bucle for para iterar sobre el generador y mostrar los números pares generados para un valor de n dado.

  Ejercicio 2: Generador de Números al Cuadrado

  1. Crea una función generadora llamada generador_cuadrados que tome una lista de números como argumento.
  2. El generador debe producir el cuadrado de cada número en la lista.
  3. Utiliza un bucle for para iterar sobre el generador y mostrar los cuadrados de los números en una lista de ejemplo.

  Ejercicio 3: Generador de Cuenta Regresiva

  1. Crea una función generadora llamada cuenta_regresiva que tome un número entero inicio como argumento.
  2. El generador debe producir una secuencia de números en cuenta regresiva desde inicio hasta 0 (inclusive).
  3. Utiliza un bucle for para iterar sobre el generador y mostrar la cuenta regresiva para un valor de inicio dado.

  Ejercicio 4: Generador de Líneas de un Archivo

  1. Crea una función generadora llamada generador_lineas que tome la ruta de un archivo de texto como argumento.
  2. El generador debe leer el archivo línea por línea y producir cada línea (sin el carácter de nueva línea al final).
  3. Crea un archivo de texto de ejemplo con algunas líneas y utiliza el generador para iterar sobre las líneas e imprimirlas.

  Ejercicio 5: Generador Infinito de Números Fibonacci

  1. Crea una función generadora llamada fibonacci_infinito que produzca una secuencia infinita de números Fibonacci (0, 1, 1, 2, 3, 5, 8, ...).
  2. Utiliza un bucle for con una condición de parada (por ejemplo, generar los primeros 10 o 20 números) para iterar sobre el generador y mostrar los números de la secuencia.


Mostrar/Ocultar ejercicios resueltos


  Solución al Ejercicio 1: Generador de Números Pares

Python
 
def generador_pares(n):
    for i in range(0, n + 1, 2):
        yield i

# Ejemplo de uso
for par in generador_pares(10):
    print(par)

  Solución al Ejercicio 2: Generador de Números al Cuadrado

Python
 
def generador_cuadrados(numeros):
    for numero in numeros:
        yield numero ** 2

# Ejemplo de uso
lista_numeros = [1, 2, 3, 4, 5]
for cuadrado in generador_cuadrados(lista_numeros):
    print(cuadrado)

  Solución al Ejercicio 3: Generador de Cuenta Regresiva

Python
 
def cuenta_regresiva(inicio):
    for i in range(inicio, -1, -1):
        yield i

# Ejemplo de uso
for numero in cuenta_regresiva(5):
    print(numero)

  Solución al Ejercicio 4: Generador de Líneas de un Archivo

Primero, crea un archivo de texto llamado ejemplo.txt con el siguiente contenido:

Esta es la primera línea.
Esta es la segunda línea.
Y esta es la tercera.

Ahora, el código del generador:

Python
 
def generador_lineas(ruta_archivo):
    with open(ruta_archivo, 'r') as archivo:
        for linea in archivo:
            yield linea.strip('\n')

# Ejemplo de uso
for linea in generador_lineas('ejemplo.txt'):
    print(linea)

  Solución al Ejercicio 5: Generador Infinito de Números Fibonacci

Python
 
def fibonacci_infinito():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

# Ejemplo de uso (generando los primeros 10 números)
contador = 0
for numero in fibonacci_infinito():
    if contador >= 10:
        break
    print(numero)
    contador += 1

Estos ejercicios te ayudarán a comprender cómo crear y utilizar generadores en Python para producir secuencias de valores de manera eficiente, especialmente cuando se trata de grandes conjuntos de datos o secuencias infinitas.