Ejercicio 03 — Pide una lista de palabras separadas por espacio e imprimela al reves
Dificultad: verde · Módulo 05 (Listas y comprehensions)
Enunciado
Pide una lista de palabras separadas por espacio e imprimela al reves
Cómo se resuelve
Invertir una lista de palabras es la excusa perfecta para ver el slicing con paso negativo, un atajo que en C exigiría un bucle que intercambia extremos.
entrada.split()— parte la línea tecleada en una lista de palabras:"hola que tal"se vuelve["hola", "que", "tal"]. Sin argumentos,.split()trocea por cualquier espacio en blanco.palabras[::-1]— esta es la clave. El slicing tiene la forma[inicio:fin:paso]; al dejarinicioyfinvacíos y poner paso-1, Python recorre la lista de atrás hacia adelante y devuelve una lista nueva invertida.- Es importante que crea una copia: la lista original
palabrasqueda intacta. Si en cambio quisieras invertir la lista en su sitio, usarías el métodopalabras.reverse(), que no devuelve nada y modifica la original. print(invertida)— al imprimir una lista tal cual, Python muestra los corchetes y las comillas de cada string; no es texto seguido sino la representación de la lista.
Trampa habitual: confundir [::-1] (invierte) con [-1] (que es solo el último elemento). Un cambio de un carácter y el resultado es completamente distinto.
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 03 — PRACTICA (rellena los TODO)
# Enunciado: Pide una lista de palabras separadas por espacio e imprimela al reves
# Dificultad: verde
# Ejecutar: python3 ej03_practica.py
entrada = input("Introduce palabras separadas por espacio: ")
# TODO: convierte 'entrada' en una lista de palabras con split()
palabras = []
# TODO: invierte la lista usando slicing [::-1]
invertida = []
# TODO: imprime la lista invertida
print()Solución — cópiala y ejecútala
# Curso de Python — Modulo 05: Listas y comprehensions
# Ejercicio 03 — MODELO (resuelto)
# Enunciado: Pide una lista de palabras separadas por espacio e imprimela al reves
# Dificultad: verde
# Ejecutar: python3 ej03_modelo.py
entrada = input("Introduce palabras separadas por espacio: ")
# split() sin argumentos parte por cualquier espacio en blanco
palabras = entrada.split()
# Slicing [::-1] crea una nueva lista invertida — no modifica la original
invertida = palabras[::-1]
print(invertida)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.