13 - Procesar cadenas de caracteres
Algunos métodos y conceptos para el manejo de strings
Ya hemos 🔙 visto que podemos cargar una cadena de caracteres tanto por asignación (comillas dobles o simples), como por teclado. Podemos utilizar los operadores relacionales🔗 para identificar si dos cadenas son iguales, distintas o cual es la mayor alfabéticamente. 🔡
Como su nombre lo indica una cadena de caracteres está formada generalmente por varios caracteres (de todos modos podría tener solo un caracter o ser una cadena vacía) Podemos acceder en forma individual a cada caracter 🇪 del string mediante un subíndice:
nombre='jhon'
print(nombre[0]) #se imprime una j
if nombre[0]=="j": #verificamos si el primer caracter del string es una j
print(nombre)
print("comienza con la letra j")
Los subíndices comienzan a numerarse a partir del cero.
nombre= 'jhon'
print(len(nombre))
El programa anterior imprime un 4 ya que la cadena nombre almacena 'jhon' que tiene cuatro caracteres.
Ejemplos
Ejemplo 1
Realizar la carga del nombre de una persona y luego mostrar el primer caracter del nombre y la cantidad de letras que lo componen.
name=input("Enter a name: ")
print(f"The first character of {name} is: {name[0]}")
print(f"The length of {name} is: {len(name)}")
Ejemplo 2
Solicitar la carga del nombre de una persona en minúsculas. Mostrar un mensaje si comienza con vocal dicho nombre.
#name
name=input("Enter a name: ")
if(name[0]=="a" or name[0]=="e" or name[0]=="i" or name[0]=="o" or name[0]=="u"):
print(f"{name} begins with a vowel")
else:
print(f"{name} does not begin with a vowel")
Ejemplo 3
Ingresar un mail por teclado. Verificar si el string ingresado contiene solo un caracter "@".
mail=input("Ingrese un mail:")
cantidad=0
x=0
while x<len(mail):
if mail[x]=="@":
cantidad=cantidad+1
x=x+1
if cantidad==1:
print("Contiene solo un caracter @ el mail ingresado")
else:
print("Incorrecto")
Para analizar cada caracter del string ingresado disponemos una estructura while utilizando un contador llamado x
que comienza con el valor cero y se repetirá tantas veces como caracteres tenga la cadena (mediante la función len obtenemos la cantidad de caracteres).
while x < len (mail):
Dentro del ciclo while verificamos cada caracter mediante un if y contamos la cantidad de caracterers "@":
if(mail[i]=="@"):
counterArroba+=1
Cuando sale del ciclo while procedemos a verificar si el contador tiene almacenado el valor 1 y mostramos el mensaje respectivo:
if(counterArroba==1):
print("The email has one @")
Los string en Python son inmutables, esto quiere decir que una vez que los inicializamos no podemos modificar su contenido.
name="Jhon"
name[0]="m" #esto esta permitido

No hay que confundir 😵 cambiar parte del string con realizar la asignación de otro string a la misma variable, luego si es correcto asignar otro valor a un string:
name="Jhon"
name = "jhon" #esto si esta permitido
Métodos propios de las cadenas de caracteres
Los string tienen una serie de métodos (funciones aplicables solo a los string) que nos facilitan 🙂 la creación de nuestros programas.
Los primeros tres métodos que veremos se llaman: lower, upper y capitalize. 🌌
upper() : devuelve una cadena de caracteres convertida todos sus caracteres a mayúsculas.
lower() : devuelve una cadena de caracteres convertida todos sus caracteres a minúsculas.
capitalize() : devuelve una cadena de caracteres convertida a mayúscula solo su primer caracter y todos los demás a minúsculas.
Ejemplo 4
Inicializar un string con la cadena "mAriA" luego llamar a sus métodos upper(), lower() y capitalize(), guardar los datos retornados en otros string y mostrarlos por pantalla.
text1="mAriA"
#upper case
print(text1)
text2=text1.upper()
print(f"Upper case: {text2}")
#lower case
text2=text1.lower()
print("Lower case: ",text2)
text2=text1.capitalize()
print("Capitalizae case: ",text2)

text2 = text1.upper()
Problemas propuestos 📚
Problema 1
Cargar una oración por teclado. Mostrar luego cuantos espacios en blanco se ingresaron.
Problem 2
Ingresar una oración que pueden tener letras tanto en mayúsculas como minúsculas. Contar la cantidad de vocales.
Problem 3
Solicitar el ingreso de una clave 🗝️ por teclado y almacenarla en una cadena de caracteres 🙈 . Controlar que el string ingresado tenga entre 10 y 20 caracteres para que sea válido, en caso contrario mostrar un mensaje de error.
Solución 🆘
#count blank Space
countBlank=0
text=input("Enter text: ")
for f in range(len(text)):
if(text[f]==" "):
countBlank+=1
print("The blanck space: ",countBlank)
Última actualización
¿Te fue útil?