Documentos de Académico
Documentos de Profesional
Documentos de Cultura
programación
Unidad nueve:
Algoritmos con cadenas de
texto
AGE N D A
01 Objetivos de aprendizaje
• Objetivo general:
Introducir los conceptos básicos en el manejo de strings
• Objetivos específicos
• Entender las funciones de una string.
• Conocer los atributos y tipos de manejo de una string.
• Observar casos de aplicación de los algoritmos con
strings como el análisis de sentimientos y la codificación
de textos
/ /F u n d a m e n t o s d e P r o g r a m a c i ó n
Fundamentos de
programación
Manejo de strings
01
Librería string
Manejo de strings
Una string se refiere a una cadena de caracteres, o texto, en un
lenguaje de programación.
Algunas operaciones:
• Remplazo de caracteres
• Búsqueda de texto
• Conteo de texto
• Corte y filtrado de texto
02
Librería string
‘Hola!’ ”Hola!”
01
Librería string
Un string tiene múltiples atributos a los que puede acceder donde
además puede ser tratado como una lista.
inicio
# crea una variable con el texto
texto = ’Soy el número 1000 y convertido en binario soy
1111101000’
# imprime un elemento de la string
mostrar(texto[4])
# imprime un grupo de elementos de la string
mostrar(texto[8:15])
fin
Resultado: e
úmero 1
02
Librería string
String y operaciones
Algunas operaciones con strings:
Join(nombre_string)
inicio
# crea una lista de strings
words = [‘yo’, ‘soy’, ‘tu’, ‘padre’]
# unir los elementos de la lista
mostrar(' '.join(words))
# unir los elementos de la lista con una palabra
mostrar(' jaja '.join(words))
fin
Resultado: yosoytupadre
yojajasoyjajatujajapadre
02
Librería string
inicio
# crea el texto
texto2 = 'teXto De prUEba’
# convierte texto2 a minúsculas
mostrar (texto2.lower())
# reemplaza en texto2 la string1 por la string2
mostrar(texto2.replace(‘teXto’, ‘Hola’))
fin
inicio
# crea el texto
texto2 = 'teXto De prUEba’
# convierte texto2 en una lista. Cada palabra es un elemento de la lista.
mostrar (texto2.split(“ ”))
# convierte texto2 en un título. Primera letra de cada palabra en
mayúscula
mostrar(texto2.title())
fin
String y su librería
01
Librería string
La librería string viene por defecto en python y permite acceder a
atributos nuevos.
inicio
import string
# imprime los dígitos
mostrar(string.digits)
# imprime los signos de puntuación
mostrar(string.punctuation)
fin
Resultado: 0123456789
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~’
02
Librería string
Análisis de sentimientos
Ejercicio:
Analizar si un párrafo expresa un sentimiento positivo o negativo respecto a algo,
tomando como referencia unas listas de palabras.
04
Ejemplos
Análisis de sentimientos
• ¿Cual es el objetivo?
• Indicar si un párrafo indica un sentimiento positivo o
negativo.
• ¿Cuáles son los datos de entrada?
• Una string que representa un escrito, carta, oración, etc.
• ¿Datos de salida?
• Una cadena de texto que indica qué tan positivo es el
sentimiento de la string de entrada
Análisis de sentimientos
Análisis de sentimientos
Análisis de sentimientos
inicio
import string
palabras_positivas = […]
palabras_negativas = […]
oracion = “…”
# Eliminar todos los signos de puntuación que pueden llegar a afectar la evaluación.
para p in list(string.punctuation):
oracion = oracion.replace(p, ‘ ’)
# Crear una lista con las palabras de la oración.
palabras = oracion.lower().split(' ')
04
Ejemplos
Análisis de sentimientos
(continuación…)
# Total palabras expresivas se encarga de contar todas las palabras (positivas y negativas).
total_palabras_expresivas = 0
# Contador de sentimiento calcula la diferencia entre palabras positivas y negativas.
contador_sentimiento = 0
# Se recorren las palabras y se procede a contar
para word in palabras:
si word in palabras_positivas:
contador_sentimiento += 1
total_palabras_expresivas += 1
si word in palabras_negativas:
contador_sentimiento -= 1
total_palabras_expresivas += 1
04
Ejemplos
Análisis de sentimientos
(continuación…)
Es decir, que la letra ‘a’ debe ser reemplazada por la ‘d’, la ‘b’ por la ‘e’, y así
sucesivamente.
04
Ejemplos
• ¿Cual es el objetivo?
• Codificar una string cambiando las letras
• ¿Cuáles son los datos de entrada?
• Una string que representa un escrito, carta, oración, etc.
• ¿Datos de salida?
• Una string que representa al original, pero codificado.
04
Ejemplos
¿Cuál es el resultado?
04
Ejemplos
Texto original
Esta es una oración para codificar
Texto codificado
hvwd hv xqd rudflrq sdud frglilfdu
04
Ejemplos
Links de referencia
• Python-Strings:
https://docs.python.org/3.6/library/stdtypes.html#string-
methods
• Librería String: https://docs.python.org/3.6/library/string.html
• Problemas con Strings:
https://www.hackerrank.com/domains/algorithms/strings
Preguntas
Aportes
Comentarios
/ /F u n d a m e n t o s d e P r o g r a m a c i ó n