Ya hemos visto que podemos cargar una cadena de caracteres por asignación:
#con doble comillas cadena1="juan" #el resultado es igual con simple comillas cadena2='ana'
También podemos cargarla por teclado:
nombre=input("Ingrese su nombre:")
Podemos utilizar los operadores relacionales para identificar si dos cadenas son iguales, distintas o cual es la mayor alfabética:
== Igualdad != Desigualdad < menor <= menor o igual > mayor >= mayor o igual
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='juan' 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.
Si queremos conocer la longitud de un string en Python disponemos de una función llamada len que retorna la cantidad de caracteres que contiene:
nombre='juan' print(len(nombre))
El programa anterior imprime un 4 ya que la cadena nombre almacena 'juan' que tiene cuatro caracteres.
Realizar la carga del nombre de una persona y luego mostrar el primer caracter del nombre y la cantidad de letras que lo componen.
nombre=input("Ingrese su nombre:") print("Primer caracter") print(nombre[0]) print("Cantidad de letras del nombre:") print(len(nombre))
Solicitar la carga del nombre de una persona en minúsculas. Mostrar un mensaje si comienza con vocal dicho nombre.
nombre=input("Ingrese su nombre:") if nombre[0]=="a" or nombre[0]=="e" or nombre[0]=="i" or nombre[0]=="o" or nombre[0]=="u": print("El nombre ingresado comienza con vocal") else: print("El nombre ingresado no comienza con vocal")
Con que una de las condiciones del if sea verdadera luego se ejecuta el bloque del verdadero.
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[x]=="@": cantidad=cantidad+1
Cuando sale del ciclo while procedemos a verificar si el contador tiene almacenado el valor 1 y mostramos el mensaje respectivo:
if cantidad==1: print("Contiene solo un caracter @ el mail ingresado") else: print("Incorrecto")
Los string en Python son inmutables, esto quiere decir que una vez que los inicializamos no podemos modificar su contenido:
nombre="juan" nombre[0]="m" #esto no se puede
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:
nombre="juan" print(nombre) nombre="ana" print(nombre)
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.
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.
nombre1="mAriA" print(nombre1) nombre2=nombre1.upper() print(nombre2) nombre3=nombre1.lower() print(nombre3) nombre4=nombre1.capitalize() print(nombre4)
El resultado de ejecutar este programa es:
Para llamar a un método del string debemos disponer entre el nombre del string y el método el caracter punto:
nombre2=nombre1.upper()
Es importante decir que el string nombre1 no se modifica su contenido (recordar que un string es inmutable) pero el método upper() retorna el contenido de la variable nombre1 pera convertida a mayúsculas. El dato devuelto se almacena en la variable nombre2.
ejercicio66.py oracion=input("Ingrese una oracion:") cantidad=0 x=0 while x<len(oracion): if oracion[x]==" ": cantidad=cantidad+1 x=x+1 print("La cantidad de espacios en blanco ingresado son") print(cantidad) ejercicio67.py oracion=input("Ingrese una oracion:") oracionmin=oracion.lower() cantidad=0 x=0 while x<len(oracionmin): if oracionmin[x]=="a" or oracionmin[x]=="e" or oracionmin[x]=="i" or oracionmin[x]=="o" or oracionmin[x]=="u": cantidad=cantidad+1 x=x+1 print("La cantidad de vocales de la oracion son") print(cantidad) ejercicio68.py clave=input("Ingrese una clave que tenga entre 10 y 20 caracteres:") if len(clave)>=10 and len(clave)<=20: print("Largo correcto") else: print("Largo incorrecto")