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.
range(1, 21)— genera los números del 1 al 20. El límite superior es exclusivo, por eso ponemos21para incluir el 20.rangeno crea la lista en memoria, va produciendo los valores conforme se piden.[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 elif x % 2 == 0decide cuáles pasan. Solo los que dan resto 0 al dividir entre 2 (los pares) entran en la lista resultante.x % 2 == 0es el módulo, igual que en C: el resto de dividir entre 2. Si vale 0, el número es par.- La ventaja frente a C: allí declararías un array, un contador y un bucle con un
ifque hacearray[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.