# ============================================================
# 🧩 PRÁCTICA DE LIST COMPREHENSION EN PYTHON
# ============================================================
# Instrucciones:
# - Rellena cada variable con una expresión de list comprehension.
# - Ejecuta el programa y comprueba tus resultados.
# ============================================================


# 🟢 NIVEL 1 — BÁSICOS

# 1. Generar una lista de números del 0 al 10
numeros = []
print("1.",numeros)

# 2. Crear una lista con los cuadrados del 1 al 10
cuadrados = []
print("2.",cuadrados)

# 3. Obtener una lista con los caracteres de la palabra "python"
letras = []
print("3.",letras)

# 4. Crear una lista con los números pares del 0 al 20
pares = []
print("4.",pares)

# 5. Generar una lista con el doble de cada número de [1, 3, 5, 7, 9]
doble = []
print("5.",doble)



# 🟡 NIVEL 2 — CON CONDICIONES

# 6. Obtener una lista con los números impares del 0 al 20
impares = []
print("6.",impares)

# 7. Palabras con más de 5 letras en ["manzana", "pera", "plátano", "uva"]
palabras = ["manzana", "pera", "plátano", "uva"]
palabras_largas = []
print("7.",palabras_largas)

# 8. Múltiplos de 3 entre 1 y 30
multiplos_3 = []
print("8.",multiplos_3)

# 9. Números positivos de la lista [4, -2, 7, -9, 0, 3]
numeros = [4, -2, 7, -9, 0, 3]
positivos = []
print("9.",positivos)

# 10. Elementos mayores que 25 en [10, 20, 30, 40, 50]
mayores_25 = []
print("10.",mayores_25)



# 🔵 NIVEL 3 — TRANSFORMACIONES Y COMBINACIONES

# 11. Convertir todos los elementos de ["python", "java", "c++"] a mayúsculas
lenguajes = ["python", "java", "c++"]
mayus = []
print("11.",mayus)

# 12. Obtener la longitud de cada palabra en ["hola", "mundo", "python"]
palabras = ["hola", "mundo", "python"]
longitudes = []
print("12.",longitudes)

# 13. Combinar listas ["a","b","c"] y [1,2,3] → [("a",1), ("b",2), ("c",3)]
letras = ["a", "b", "c"]
numeros = [1, 2, 3]
combinadas = []
print("13.",combinadas)

# 14. Convertir temperaturas de °C a °F (usa F = C * 9/5 + 32)
celsius = [0, 10, 20, 30]
fahrenheit = []
print("14.",fahrenheit)

# 15. Convertir "12345" en [1, 2, 3, 4, 5]
cadena = "12345"
numeros = []
print("15.",numeros)



# 🧠 NIVEL 4 — LISTAS ANIDADAS

# 16. Todas las combinaciones posibles de (x, y)
combinaciones = []
print("16.",combinaciones)

# 17. Aplanar lista de listas [[1,2,3], [4,5,6], [7,8,9]]
lista = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
aplanada = []
print("17.",aplanada)

# 18. Crear una matriz 3x3 de ceros
matriz = []
print("18.",matriz)

# 19. Obtener los elementos de la diagonal principal de una matriz 3x3
matriz = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]
diagonal = []
print("19.",diagonal)

# 20. Números del 1 al 50 múltiplos de 2 o de 5
multiplos = []
print("20.",multiplos)


# ============================================================
# 💡 CONSEJO:
# Prueba a cambiar los rangos, condiciones o listas base
# para experimentar con distintos resultados.
# ============================================================
