Ejercicio 05 — El usuario introduce N

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

Enunciado

El usuario introduce N; imprime la lista de cuadrados de 1 a N

Cómo se resuelve

Generar la lista de cuadrados de 1 a N combina leer un número del usuario con una comprehension que transforma cada elemento (aquí, elevándolo al cuadrado).

  1. n = int(input("Introduce N: "))input() siempre devuelve str, así que envolvemos con int() para tener un entero de verdad con el que construir el rango.
  2. range(1, n + 1) — produce los números del 1 al N. Como el límite superior es exclusivo, sumamos 1 para que N quede incluido.
  3. [x**2 for x in range(1, n + 1)] — la comprehension recorre cada x y guarda su transformación x**2. A diferencia del ejercicio de los pares, aquí no hay if que filtre: cada elemento produce un resultado, y la lista de salida tiene tantos elementos como el rango.
  4. x**2 es la potencia en Python (base ** exponente); equivale a x*x. En C no existe operador de potencia para enteros y usarías x*x o pow().

Trampa habitual: escribir range(1, n), que se queda en N-1 y te deja sin el último cuadrado. El n + 1 es lo que garantiza incluir N.

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 05 — PRACTICA (rellena los TODO)
# Enunciado: El usuario introduce N; imprime la lista de cuadrados de 1 a N
# Dificultad: amarillo
# Ejecutar: python3 ej05_practica.py
 
# TODO: pide N al usuario y conviertelo a entero (recuerda: input() devuelve str)
n = 0
 
# TODO: usa una list comprehension con range(1, n+1)
#       la expresion debe calcular x al cuadrado (x**2)
cuadrados = []
 
# TODO: imprime la lista de cuadrados
print()

Solución — cópiala y ejecútala

# Curso de Python — Modulo 05: Listas y comprehensions
# Ejercicio 05 — MODELO (resuelto)
# Enunciado: El usuario introduce N; imprime la lista de cuadrados de 1 a N
# Dificultad: amarillo
# Ejecutar: python3 ej05_modelo.py
 
# input() devuelve str -> hay que convertir a int
n = int(input("Introduce N: "))
 
# range(1, n+1) genera 1..N inclusive
# x**2 es la potencia en Python (equivalente a x*x en C)
cuadrados = [x**2 for x in range(1, n + 1)]
 
print(cuadrados)

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