Curso de introducción a la programación con Python

Autor: Luis Fernando Apáez Álvarez

Clase 12: Cadenas de texto II

Hasta ahora hemos trabajado con muchos conceptos nuevos sobre cadenas de texto. Para finalizar su estudio básico veremos algunos temas interesantes. Podemos comenzar por contar el número de letras en una cadena de texto, para ello bastará con recorrer cada letra de dicha cadena e ir sumando una unidad en una variable inicializada en cero:

y si tenemos espacios en blanco bastará con implementarse un condicional if

Contador de palabras

Alguna vez hemos realizado un trabajo en microsoft word. En él podemos notar como son contadas las palabras que vamos escribiendo. A continuación escribiremos un código para contar las palabras que ingresemos. Antes, notemos la siguiente oración:


Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...

la cual contine 14 palabras. Podemos contar las palabras de acuerdo al número de espacios en blanco; de la oración anterior tenemos 13 espacios en blanco. En general, tendremos que el número total de palabras es igual al número total de espacios en blanco más 1.

Veamos algunos otros ejemplos

Para contar el número de palabras bastará con contar el número de espacios en blanco. De tal manera, primero creamos una variable inicializada en cero (que servirá para contar los espacios en blanco), después recorreremos cada letra de la cadena de texto e implementaremos un if para saber cuando tenemos un espacio en blanco, luego, cada que el if localice un espacio en blanco sumaremos un 1 a la variable inicializada en cero. Esto es

Inversión de cadenas

Si tenemos la cadena de texto "hola" nuestro objetivo será conseguir imprimir la cadena al revés, esto es tener la cadena de texto "aloh". Lo que haremos será declarar una variable tipo string (vacía) auxiliar para "voltear" la cadena de texto, en otras palabras el comportamiento será el siguiente en cada iteración:

Para ello

Podemos jugar un poco y ver algunos palíndromos:

Subcadenas

Dada una cadena, las subcadenas estarán conformadas por carácteres de la cadena principal. Por ejemplo, de la cadena "Jueves negro" podemos considerar las subcadenas "eves neg", "es ne", etcétera. Para ello trabajaremos con dos índices para indicar la primer letra de la subcadena y un segundo índice para indicar la última letra de dicha subcadena.

Finalmente, dado que es muy usual trabajar con subcadenas Python nos brinda una forma más sencilla de hacerlo, para ello utilizaremos el operador de corte :. En vez de utilizar el código anterior bastará con emplear

El operador de corte admite un tercer parámetro para indicar el patrón de avance, por defecto el patrón de avance es de uno en uno, por ello en texto3[2:10] se mostrarán todos los carácteres comprendidos entre el índice 2 y el 10 de la cadena de texto "Jueves negro". En cambio, podemos tener el patrón de avance de dos en dos, de tres en tres, etcétera, lo cual conseguiremos usando texto3[2:10:2] o texto3[2:10:3] respectivamente. Veamos por ejemplo el resultado de

Hemos logrado la inmersión de una cadena de manera mucho más sencilla. Lo que ocurre es que el patrón de avance es negativo y lo que pasa es que seleccionamos la letra cuyo índice es -1 (la cual sabemos que es la última letra), después seleccionamos la letra cuyo índice es -2 (la cual sabemos que es la penúltima letra) y así consecutivamente.

Socialmedia.PNG