7. Sequencias y diccionarios¶
7.1. Cadenas¶
- Una cadena es una secuencia ordenada de caracteres.
- Las cadenas se pueden delimitar por:
'Facultad de Ciencias, UNAM'
"Facultad de Ciencias, UNAM"
'''Facultad de
Ciencias, UNAM'''
"""Facultad de
Ciencias ,UNAM"""
Las cadenas no se pueden modificar, son inmutable.
Cada elemento de una cadena esta identificado por un indice

Usamos el operador [ ] para hacer referencia a los elementos de una cadena
>>> facultad = 'Facultad de Ciencias, UNAM'
>>> letra = facultad[1]
>>> letra
'a'
>>> m, n = 12, 19
>>> facultad[m:n]
'Ciencia'
>>> facultad[m:]
'Ciencias, UNAM'
>>> facultad[:n]
'Facultad de Ciencia'
Como recorrer los caracteres de una cadena?
frase = 'Simple is better than complex'
index = 0
while index < len(frase):
letra = frase[index]
print(letra)
index = index + 1
una manera más simple
rase = 'Simple is better than complex'
for letra in frase:
print(letra)
Los operadores y funciones regresan nuevas cadenas.
operador | |
+ | frase + “ by Tim Peters” |
* | frase * 3 |
in | “Python” in frase |
== | frase == “The Zen” |
Los operadores y funciones regresan nuevas cadenas.
operador | |
len | longitud de la cadena |
max | el carácter más grande |
min | el carácter más pequeño |
7.1.1. Médotos¶
Las Cadenas son Objetos de la clase str
Los métodos se llaman:
objeto.metodo(argumentos)
>>> frase = 'the zen of Python'
>>> frase.capitalize()
'The zen of python'
>>> frase.find('Python')
11
>>> frase.upper()
'THE ZEN OF PYTHON'
>>> frase.lower()
'the zen of python'
>>> frase.isalpha()
False
>>> frase.split()
['the', 'zen', 'of', 'python']
>>> '-'.join(['1', '2', '3'])
'1-2-3'
7.1.2. Cifrado de cesar¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
def cifrado_cesar(texto, n=3):
"""
Cifra un mensaje de texto con un dezplasamiento de longitud n
:param texto: texto original
:param n: dezplasamiento
:return: texto cifrado
"""
alfabeto = 'abcdefghijklmnopqrstuvwxyz'
cifrado = ''
for caracter in texto:
if caracter in alfabeto:
indice = (alfabeto.find(caracter) - n) % 25
cifrado = cifrado + alfabeto[indice]
else:
cifrado = cifrado + caracter
return cifrado
if __name__ == '__main__':
mensaje = 'nos vemos en prometeo'
mensaje_ilegible = cifrado_cesar(mensaje)
print(mensaje_ilegible)
|
7.1.3. Manejo de Archivos¶
>>> f = open('mensaje.txt', 'w')
>>> type(f)
<class '_io.TextIOWrapper'>
>>> f.write("nos vemos en prometeo\n")
22
>>> f.write("Lunes 9:00 hrs\n")
15
>>> f.close()
>>> f = open("mensaje.txt", "r")
>>> line1 = f.readline()
>>> type(line1)
<class 'str'>
>>> line2 = f.readline()
>>> f.close()
>>> print(line1, line2)
nos vemos en prometeo
Lunes 9:00 hrs