Ejercicio 04 — Dada una lista de enteros del 1 al 20, extrae solo los pares con…

Dificultad: verde · Módulo 05 (Listas y comprehensions)

Enunciado

Dada una lista de enteros del 1 al 20, extrae solo los pares con comprehension

Cómo se resuelve

Sacar solo los pares del 1 al 20 muestra la list comprehension con filtro: construir una lista nueva quedándote solo con los elementos que cumplen una condición, todo en una línea.

  1. range(1, 21) — genera los números del 1 al 20. El límite superior es exclusivo, por eso ponemos 21 para incluir el 20. range no crea la lista en memoria, va produciendo los valores conforme se piden.
  2. [x for x in range(1, 21) if x % 2 == 0] — la comprehension tiene dos partes: for x in range(...) recorre cada número y el if x % 2 == 0 decide cuáles pasan. Solo los que dan resto 0 al dividir entre 2 (los pares) entran en la lista resultante.
  3. x % 2 == 0 es el módulo, igual que en C: el resto de dividir entre 2. Si vale 0, el número es par.
  4. La ventaja frente a C: allí declararías un array, un contador y un bucle con un if que hace array[j++] = x. Aquí una sola expresión describe qué quieres (los pares) en vez de cómo construirlo paso a paso, y la lista se dimensiona sola.

Trampa habitual: olvidar que range(1, 21) no llega al 21. Si escribieras range(1, 20) te quedarías sin el 20, que es par y debería aparecer.

Para practicar — cópialo y complétalo

Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.

# Curso de Python — Modulo 05: Listas y comprehensions
# Ejercicio 04 — PRACTICA (rellena los TODO)
# Enunciado: Dada una lista de enteros del 1 al 20, extrae solo los pares con comprehension
# Dificultad: verde
# Ejecutar: python3 ej04_practica.py
 
# TODO: usa una list comprehension con range(1, 21) y la condicion de paridad
#       patron: [expresion for variable in iterable if condicion]
pares = []  # reemplaza con la comprehension
 
# TODO: imprime la lista de pares
print()

Solución — cópiala y ejecútala

# Curso de Python — Modulo 05: Listas y comprehensions
# Ejercicio 04 — MODELO (resuelto)
# Enunciado: Dada una lista de enteros del 1 al 20, extrae solo los pares con comprehension
# Dificultad: verde
# Ejecutar: python3 ej04_modelo.py
 
# range(1, 21) genera 1..20; la comprehension filtra los divisibles por 2
pares = [x for x in range(1, 21) if x % 2 == 0]
 
print(pares)

Cómo usarlo

Pega el código en un fichero y ejecútalo con tu toolchain habitual (o el botón de Ejecutar de tu editor). Antes de mirar la solución, intenta completar tú el esqueleto: es la mejor forma de aprender.

Conexiones