Semana 2 · Día 3 — Limpia y divide texto en Python

Semana 2 · Día 3 — Limpia y divide texto en Python

En 60 minutos transformarás un comentario con espacios sobrantes en texto normalizado y una lista de palabras, con un archivo Python guardado y comprobable.

Entregable de hoy

Semana 2 — Primer contacto con Python · Día 3
Al terminar tendrás un archivo guardado llamado S2D3_texto_python.py —o S2D3_texto_python.ipynb si continúas en Colab— que toma un comentario con espacios sobrantes, lo limpia, lo pasa a minúsculas, lo divide en palabras y muestra una pequeña lectura del resultado.
La pieza mínima debe conservar el texto original y producir estas cuatro salidas:
  • la versión limpia del comentario;
  • la versión normalizada en minúsculas;
  • la lista de palabras;
  • la longitud del texto y su primer carácter.
No cuenta como terminado si solo escribiste el código: debes ejecutar el archivo, cambiar el comentario por uno propio, volver a ejecutarlo y guardarlo.

Qué vas a fijar hoy

Python representa el texto con el tipo str. Las cadenas se pueden unir con +, consultar por posición con un índice, recortar con slicing y medir con len(); además, una cadena no se modifica en el lugar, porque es inmutable. 1
Tres métodos serán suficientes para esta jornada. strip() devuelve una copia sin los caracteres iniciales y finales indicados; sin argumentos, quita espacios en blanco. lower() devuelve una copia en minúsculas. split() devuelve una lista de palabras. 2
La diferencia entre conservar una cadena y crear una lista importa para el proyecto final: todavía no estás clasificando comentarios, pero ya puedes preparar una entrada para que una etapa posterior la lea de forma consistente.

Recursos

Sesión de 60 minutos

00:00–10:00 · 10 min de repaso

  1. Abre el archivo del Día 2 y ejecútalo una vez. Comprueba que tus variables todavía imprimen valores y tipos.
  2. Escribe en una nota, sin consultar la solución, qué esperas que ocurra con " Hola ".strip(), "Hola".lower() y "hola mundo".split().
  3. Elige un comentario breve relacionado con tu proyecto. Debe tener espacios al inicio o al final y al menos tres palabras, por ejemplo: " El modelo resume comentarios de usuarios. ".
Si el archivo del Día 2 no ejecuta, corrige solo ese bloqueo antes de continuar. Hoy necesitas volver a ejecutar y observar, no rehacer la instalación.

10:00–30:00 · 20 min de curso o video

Abre Learn Python - Full Course for Beginners [Tutorial] y comienza en 27:03, donde empieza Working With Strings. Mira el capítulo hasta 38:18 y usa el tiempo restante del bloque para pausar, copiar un ejemplo y predecir su salida antes de ejecutarlo. 3
Anota estas tres observaciones:
  • strip() conserva una cadena nueva sin el espacio exterior;
  • lower() cambia las letras a minúsculas, pero no convierte el resultado en una lista;
  • split() sí cambia la forma del dato: devuelve varias palabras dentro de una lista.

30:00–55:00 · 25 min de práctica

Crea el archivo del día y escribe este ejemplo. Cambia el comentario por una frase que puedas continuar usando en tu proyecto final:
comentario = "   El modelo resume comentarios de usuarios.   "

limpio = comentario.strip()
normalizado = limpio.lower()
palabras = normalizado.split()
primer_caracter = normalizado[0]
fragmento = normalizado[:35]

print("Original entre marcas: |" + comentario + "|")
print("Limpio entre marcas: |" + limpio + "|")
print("Normalizado:", normalizado)
print("Palabras:", palabras)
print("Primer carácter:", primer_caracter)
print("Primer fragmento:", fragmento)
print("Cantidad de caracteres:", len(normalizado))
print("Cantidad de palabras:", len(palabras))
Trabaja en este orden:
  1. Ejecuta el archivo y observa que los espacios exteriores desaparecen en limpio.
  2. Comprueba que normalizado está en minúsculas y que palabras aparece con corchetes porque es una lista.
  3. Cambia el comentario por uno propio. Conserva al menos una palabra después de strip() para que normalizado[0] tenga un carácter que mostrar.
  4. Cambia el corte de fragmento de [:35] a [:20] y ejecuta otra vez. El inicio se conserva, pero el texto termina antes.
  5. Guarda el archivo, ciérralo, vuelve a abrirlo y ejecútalo sin editar nada.
La prueba concreta es comparar comentario, limpio, normalizado y palabras. No estás reemplazando el dato original: estás creando representaciones nuevas que luego podrás pasar a otra parte del programa.

55:00–60:00 · 5 min de notas

Añade estas cuatro líneas a tus notas:
  1. strip() devuelve: qué quitó de tu comentario.
  2. lower() devuelve: qué cambió y qué dejó igual.
  3. split() devuelve: por qué su resultado es una lista.
  4. Mi prueba: qué valor obtuviste para len(palabras) y qué frase usaste.
Cierra con esta frase, completada con tus propias palabras: «Mañana podré comprobar una entrada de texto porque…»

Hecho cuando…

  • Conservas S2D3_texto_python.py o S2D3_texto_python.ipynb con el nombre indicado.
  • El programa muestra el comentario original entre marcas y una versión sin espacios exteriores.
  • La salida distingue la cadena normalizada de la lista palabras.
  • Cambiaste el comentario por uno propio y ejecutaste de nuevo.
  • Probaste un slicing más corto y observaste el cambio en fragmento.
  • La salida muestra el primer carácter, la cantidad de caracteres y la cantidad de palabras.
  • Reabriste el archivo, lo ejecutaste una última vez y guardaste las notas.
Siguiente día: continuarás construyendo pequeñas operaciones de Python sobre datos del proyecto. Hoy ya puedes tomar texto irregular, conservar el original y producir una versión más fácil de inspeccionar.

Related content

  • Sign in to comment.