Utilizar cadenas y sus mtodos. Conocer la operacin del tipo de datos: secuencias.
Las cadenas son secuencias de caracteres Indices Recorridos: while y for Segmentos (slices) de la cadena. Las cadenas son inmutables Bsquedas y Conteos Mtodos de cadenas Operadores: in Comparaciones
Las cadenas son secuencias de caracteres. Se puede acceder a un carcter de esta secuencia, usando []
>>>dia = 'domingo' >>>letra = dia[2] #obtiene una letra >>>print letra #cul letra muestra?
El valor entre los corchetes [] se llama ndice e indica la posicin del caracter que queremos. >>> x = dia[2]
indica que queremos el carcter que est en la posicin 2 de la cadena.
Observe que las cadenas inician a numerar sus posiciones en cero. >>>x = dia[0] >>>print x 'd'
El ltimo carcter de la cadena se encuentra en la posicin len(cadena)-1: >>>ultimo = dia[len(dia) 1] >>>print ultimo o
indice = 0 #desde la posicin 0 while indice < len(cadena): #hasta la longitud letra = cadena[indice] #obtenemos el caracter print letra indice = indice + 1 #avanzamos al siguiente #caracter
10
11
Un segmento de la cadena:
>>>m[7:12] 'todos'
12
Pruebe usted estos segmentos: >>> n = 'buenos dias' >>>n[4:] #se omite final del segmento
13
14
Para modificar una cadena, la forma correcta es crear una nueva cadena:
15
def buscar(palabra, letra): index = 0 while index < len(palabra): if palabra[index] == letra: return index index = index + 1 return -1
Qu hace esta funcin?
16
El cdigo anterior encuentra la posicin de letra dentro de la palabra que se manda como parmetro.
Regresa -1 si no existe esa letra en la palabra. Ejercicio: Modifquela para que tenga un tercer parmetro, que indique desde que posicin iniciar la bsqueda.
Departamento de Ciencia de la Computacin 17
def contar(palabra, letra): contador = 0 for caracter in palabra: if caracter == letra: contador = contador + 1 return contador
18
Un mtodo es similar a una funcin. Recibe argumentos y regresa valores, pero se aplican sobre una variable ya creada y definida
Ejemplo el mtodo upper()
19
Note que se emplea un punto, seguido del nombre del mtodo y entre parntesis pueden darse los argumentos
20
21
Cuando usted consulte la pgina de mtodos de cadenas, los [] indican argumentos opcionales.
Ejemplo: str.center(width,[fillchar]) indique que se puede incluir o no, el argumento fillchar. >>>'hola'.center(70) #que resultado da? >>>'hola'.center(70,'*') #que resultado da?
22
Es un operador booleano que toma dos cadenas y regresa True, cuando la primer cadena se encuentra dentro de la segunda:
23
if fruta == manzanas' : print " manzanas!!!" El signo == sirve para ver si dos cadenas son iguales.
24
>>> 'armando' < 'brenda' True Esto es porque la letra 'a' precede a la letra 'b'
25
26
27
chr (i): regresa el carcter cuyo cdigo ASCII es el nmero i ord(c): regresa un entero con el valor del cdigo ASCII del carcter c.
Departamento de Ciencia de la Computacin 28
29
Ejercicio 1. Escriba una funcin que muestre las letras de una cadena ingresada por el usuario al revs >>>alReves('domingo') ognimod
Ejercicio 2. Escriba una funcin que reciba como parmetro una palabra y regrese la cantidad de vocales. Ojo: debe funcionar para palabras en maysculas y minsculas. Tip: Use el operador in
Departamento de Ciencia de la Computacin 30