Estructura de datos tipo cadena de caracteres (string) |
|
Una cadena de caracteres permite almacenar un conjunto de caracteres. Su funcionamiento es similar a una tupla.
Para inicializar un string utilizamos el operador de asignación.
nombre='Juan Pablo'
Podemos utilizar las comillas simples o dobles para su inicialización:
mail='jose@gmail.com'
o
mail="jose@gmail.com"
Para conocer el largo de un string podemos utilizar la función len:
print len(mail)
Para acceder a un caracter particular del string lo hacemos indicando un subíndice entre corchetes:
print mail[0] #Imprimimos el primer caracter
El lenguaje Python nos permite rescatar una "porción" de un string con la misma sintaxis que trabajamos las tuplas:
nombre='Jose Maria' print nombre[1:4] #ose print nombre[:4] #Jose print nombre[5:] #Maria
Los string son inmutables, es decir que no podemos modificar su contenido luego de ser inicializados:
titulo='Administracion' titulo[0]='X' # Esto produce un error
Esto no significa que no podemos utilizar la variable para que referencie a otro string:
nombre='Jose' print nombre nombre='Ana' print nombre
Para concatenar string Python permite utilizar el operador +.
Si tenemos tres string y queremos almacenar sus contenidos en un cuarto string podemos codificarlo de la siguiente manera:
cadena1='uno' cadena2='dos' cadena3='tres' total=cadena1+cadena2+cadena3 print total #unodostres
También Python define el operador * para los string. El resultado de multiplicar un string por un entero es otro string que repite el string original tantas veces como indica el número.
#si queremos un string con 80 caracteres de subrayado, la forma más sencilla es utilizar la siguiente expresión: separador='_'*80 print separador
Los operadores relacionales definidos para los string son:
> Mayor >= Mayor o igual < Menor <= Menor o igual == Igual != Distinto
Si queremos saber si un string es mayor alfabéticamente que otro utilizamos el operador >
nombre1='CARLOS'
nombre2='ANABEL'
if nombre1>nombre2:
print nombre1+' es mayor alfabéticamente que '+nombre2
si queremos saber si dos variables tienes en mismo contenido:
nombre1='CARLOS' nombre2='CARLOS' if nombre1==nombre2: print 'Las dos variables tienen el mismo contenido:'+nombre1
Elaborar una función que reciba un string y retorne la cantidad de vocales que tiene.
Elaborar las siguientes funciones:
- Una función que reciba un string y nos retorne el primer caracter.
- Una función que reciba un apellido y un nombre, y nos retorne un único string con el apellido y nombre concatenados y separados por una coma.
- Una función que reciba dos string y nos retorne el que tiene menos caracteres.
def primercaracter(cadena):
return cadena[0]
def concatenar(apellido,nombre):
return apellido+','+nombre
def menor(cadena1,cadena2):
if len(cadena1)<len(cadena2):
return cadena1
else:
return cadena2
cad='Hola Mundo'
print 'Primer caracter de '+cad+' es '+primercaracter(cad)
print '<br>'
nom='juan'
ape='rodriguez'
print 'Apellido y nombre concatenados:'+concatenar(ape,nom)
cad1='Hola'
cad2='Fin'
print '<br>'
print 'De: '+cad1+' y '+cad2+' tiene menos caracteres '+menor(cad1,cad2)
Ver solución