Está en la página 1de 43

Adems de nmeros, Python puede manipular cadenas de texto, las cuales pueden ser ex

presadas de
distintas formas. Pueden estar encerradas en comillas simples o dobles:
>>> 'huevos y pan'
'huevos y pan'
>>> 'doesn\'t'
"doesn't"
>>> "doesn't"
"doesn't"
>>> '"Si," le dijo.'
'"Si," le dijo.'
>>> "\"Si,\" le dijo."
'"Si," le dijo.'
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'
Las cadenas de texto literales pueden contener mltiples lneas de distintas formas.
Las lneas continuas
se pueden usar, con una barra invertida como el ltimo carcter de la lnea para indic
ar que la siguiente
lnea es la continuacin lgica de la lnea:
hola = "Esta es una larga cadena que contiene\n\
varias lneas de texto, tal y como se hace en C.\n\
Notar que los espacios en blanco al principio de la linea\
son significantes."
print hola
Not que de todas formas se necesita embeber los salto de lneas con \n; la nueva lne
a que sigue a la
barra invertida final es descartada. Este ejemplo imprimira:
Esta es una larga cadena que contiene
varias lneas de texto, tal y como se hace en C.
Notar que los espacios en blanco al principio de la linea son
significantes.
O, las cadenas de texto pueden ser rodeadas en un par de comillas triples: """ o
'''. No se necesita
escapar los finales de lnea cuando se utilizan comillas triples, pero sern incluid
os en la cadena.
print """
Uso: algo [OPTIONS]
-h Muestra el mensaje de uso
-H nombrehost Nombre del host al cual conectarse
"""
...produce la siguiente salida:
Uso: algo [OPTIONS]
-h Muestra el mensaje de uso
-H nombrehost Nombre del host al cual conectarse
Si se hace de la cadena de texto una cadena "cruda", la secuencia \n no es conve
rtida a salto de lnea,
pero la barra invertida al final de la lnea y el carcter de nueva lnea en la fuente
, ambos son incluidos en
la cadena como datos. As, el ejemplo:
hola = r"Esta es una larga cadena que contiene\n\
varias lneas de texto, tal y como se hace en C."
print hola
...imprimir:
Esta es una larga cadena que contiene\n\
varias lneas de texto, tal y como se hace en C.
El interprete imprime el resultado de operaciones entre cadenas de la misma form
a en que son tecleadas
como entrada: dentro de comillas, y con comillas y otros caracteres raros escapa
dos con barras invertidas,

para mostrar el valor preciso. La cadena de texto es encerrada con comillas dobl
es si contiene una comilla
simple y no comillas dobles, sino es encerrada con comillas simples. (La declara
cin print, descrita
luego, puede ser usado para escribir cadenas sin comillas o escapes).
Las cadenas de texto pueden ser concatenadas (pegadas juntas) con el operador +
y repetidas con *:
>>> palabra = 'Ayuda' + 'A'
>>> palabra
'AyudaA'
>>> '<' + palabra*5 + '>'
'<AyudaAAyudaAAyudaAAyudaAAyudaA>'
Dos cadenas de texto juntas son automticamente concatenadas; la primer lnea del ej
emplo anterior
podra haber sido escrita palabra = 'Ayuda' 'A'; esto solo funciona con dos litera
les, no con
expresiones arbitrarias:
>>> 'cad' 'ena' # <- Esto es correcto
'cadena'
>>> 'cad'.strip() + 'ena' # <- Esto es correcto
'cadena'
>>> 'cad'.strip() 'ena' # <- Esto no es correcto
SyntaxError: invalid syntax
Las cadenas de texto se pueden indexar; como en C, el primer carcter de la cadena
tiene el ndice 0. No
hay un tipo de dato para los caracteres; un carcter es simplemente una cadena de
longitud uno. Como en
Icon, se pueden especificar subcadenas con la notacin de rebanadas: dos ndices sep
arados por dos
puntos.
>>> palabra[4]
'a'
>>> palabra[0:2]
'Ay'
>>> palabra[2:4]
'ud'
Los ndices de las rebanadas tienen valores por defecto tiles; el valor por defecto
para el primer ndice es
cero, el valor por defecto para el segundo ndice es la longitud de la cadena a re
banar.
>>> palabra[:2] # Los primeros dos caracteres
'Ay'
>>> palabra[2:] # Todo menos los primeros dos caracteres
'udaA'
A diferencia de las cadenas de texto en C, en Python no pueden ser modificadas.
Intentar asignar a una
posicin de la cadena es un error:
>>> palabra[0] = 'x'
...
TypeError: 'str' object does not support item assignment
>>> palabra[:1] = 'Mas'
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: 'str' object does not support item assignment
Sin embargo, crear una nueva cadena con contenido combinado es fcil y eficiente:
>>> 'x' + palabra[1:]
'xyudaA'
>>> 'Mas' + palabra[5]
'MasA'
Algo til de las operaciones de rebanada: s[:i] + s[i:] es s.

>>> palabra[:2] + palabra[2:]


'AyudaA'
>>> palabra[:3] + palabra[3:]
'AyudaA'
Los ndices degenerados en las rebanadas son manejados bien: un ndice muy largo es
reemplazado por
la longitud de la cadena, un lmite superior ms chico que el lmite menor retorna una
cadena vaca.
>>> palabra[1:100]
'yudaA'
>>> palabra[10:]
''
>>> palabra[2:1]
''
Los ndices pueden ser nmeros negativos, para empezar a contar desde la derecha. Po
r ejemplo:
>>> palabra[-1] # El ltimo caracter
'A'
>>> palabra[-2] # El penltimo caracter
'a'
>>> palabra[-2:] # Los ltimos dos caracteres
'aA'
>>> palabra[:-2] # Todo menos los ltimos dos caracteres
'Ayud'
Pero not que -0 es en realidad lo mismo que 0, por lo que no cuenta desde la derec
ha!
>>> palabra[-0] # (ya que -0 es igual a 0)
'A'
Los ndices negativos fuera de rango son truncados, pero esto no funciona para ndic
es de un solo
elemento (no rebanada):
>>> palabra[-100:]
'AyudaA'
>>> palabra[-10] # error
Traceback (most recent call last):
File "<stdin>", line 1, in ?
IndexError: string index out of range
Una forma de recordar cmo funcionan las rebanadas es pensar en los ndices como pun
tos entre
caracteres, con el punto a la izquierda del primer carcter numerado en 0. Luego,
el punto a la derecha del
ltimo carcter de una cadena de n caracteres tienen ndice n, por ejemplo:
+---+---+---+---+---+---+
| A | y | u | d | a | A |
+---+---+---+---+---+---+
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1
La primer fila de nmeros da la posicin de los ndices 0...6 en la cadena; la segunda
fila da los
correspondientes ndices negativos. La rebanada de i a j consiste en todos los car
acteres entre los puntos
etiquetados i y j, respectivamente.
Para ndices no negativos, la longitud de la rebanada es la diferencia de los ndice
s, si ambos entran en
los lmites. Por ejemplo, la longitud de palabra[1:3] es 2.
La funcin incorporada len() devuelve la longitud de una cadena de texto:
>>> s = 'supercalifrastilisticoespialidoso'
>>> len(s)
33
Crear cadenas Unicode en Python es tan simple como crear cadenas de texto normal

es:
>>> u'Hola Mundo!'
u'Hola Mundo!'
La 'u' al frente de la comilla indica que se espera una cadena Unicode. Si quers
incluir caracteres
especiales en la cadena, pods hacerlo usando una forma de escapar caracteres Unic
ode provista por
Python. El siguiente ejemplo muestra cmo:
>>> u'Hola\u0020Mundo!'
u'Hola Mundo!'
La secuencia de escape \u0020 indica que se debe insertar el carcter Unicode con
valor ordinal 0x0020
(el espacio en blanco) en la posicin dada.
Otros caracteres son interpretados usando su respectivo valor ordinal como ordin
ales Unicode. Si tens
cadenas de texto literales en la codificacin estndar Latin-1 que es muy usada en p
ases occidentales,
encontrars conveniente que los primeros 256 caracteres de Unicode son los mismos
primeros 256
caracteres de Latin-1.
Tambin existe un modo crudo para expertos, del mismo modo que con las cadenas de
texto normales.
Debs anteponer 'ur' a la comilla inicial para que Python use el modo de escape cr
udo de Unicode. Solo
se aplicar la conversin \uXXXX si hay un nmero impar de barras invertidas frente a
la 'u'.
>>> ur'Hola\u0020Mundo!'
u'Hola Mundo!'
>>> ur'Hola\\u0020Mundo!'
u'Hola\\\\u0020Mundo!'
El modo crudo es til principalmente cuando tens que insertar muchas barras inverti
das, como puede
suceder al trabajar con expresiones regulares.
Adems de estas codificaciones estndar, Python provee muchas ms formas de crear cade
nas de texto
Unicode en las bases de codificaciones conocidas.
La funcin predefinida unicode() da acceso a todos los codecs (CODificadores y DEC
odificadores).
Algunos de los cdigos ms conocidos que estos codecs pueden convertir son Latin-1,
ASCII, UTF-8, y
UTF-16. Los dos ltimas son cdigos de longitud variable que almacenan cada carcter U
nicode en uno o
ms bytes. El cdigo por defecto es normalmente configurado a ASCII, que contiene lo
s caracteres del
rango 0-127 y rechaza cualquier otro con un error. Cuando una cadena Unicode se
imprime, escribe en un
archivo, o se convierte con la funcin str(), se realiza la conversin utilizando el
cdigo por defecto.
>>> u"abc"
u'abc'
>>> str(u"abc")
'abc'
>>> u""
u'\xe4\xf6\xfc'
>>> str(u"")
...
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordin
al not in range(128)
Para convertir una cadena Unicode en una cadena de 8-bit utilizando un cdigo en p
articular, los objetos

Unicode tienen un mtodo encode() que toma un argumento, el nombre del cdigo. Se pr
efieren los
nombres en minsculas para los nombres de los cdigos.
>>> u"".encode('utf-8')
'\xc3\xa4\xc3\xb6\xc3\xbc'
Si tens datos en un cdigo en particular y quers producir la cadena Unicode correspo
ndiente, pods
usar la funcin unicode() con el nombre del cdigo como segundo argumento.
>>> unicode('\xc3\xa4\xc3\xb6\xc3\xbc', 'utf-8')
u'\xe4\xf6\xfc'
Listas
Python tiene varios tipos de datos compuestos, usados para agrupar otros valores
. El ms verstil es la
lista, la cual puede ser escrita como una lista de valores separados por coma (te
ms) entre corchetes. No
es necesario que los tems de una lista tengan todos el mismo tipo.
>>> a = ['pan', 'huevos', 100, 1234]
>>> a
['pan', 'huevos', 100, 1234]
Como los ndices de las cadenas de texto, los ndices de las listas comienzan en 0,
y las listas pueden ser
rebanadas, concatenadas y todo lo dems:
>>> a[0]
'pan'
>>> a[3]
1234
>>> a[-2]
100
>>> a[1:-1]
['huevos', 100]
>>> a[:2] + ['carne', 2*2]
['pan', 'huevos', 'carne', 4]
>>> 3*a[:3] + ['Boo!']
['pan', 'huevos', 100, 'pan', 'huevos', 100, 'pan', 'huevos', 100, 'Boo!']
A diferencia de las cadenas de texto, que son inmutables, es posible cambiar un
elemento individual de
una lista:
>>> a
['pan', 'huevos', 100, 1234]
>>> a[2] = a[2] + 23
>>> a
['pan', 'huevos', 123, 1234]
Tambin es posible asignar a una rebanada, y esto incluso puede cambiar la longitu
d de la lista o vaciarla
totalmente:
>>> # Reemplazar algunos elementos:
... a[0:2] = [1, 12]
>>> a
[1, 12, 123, 1234]
>>> # Borrar algunos:
... a[0:2] = []
>>> a
[123, 1234]
>>> # Insertar algunos:
... a[1:1] = ['bruja', 'xyzzy']
>>> a
[123, 'bruja', 'xyzzy', 1234]
>>> # Insertar (una copia de) la misma lista al principio
>>> a[:0] = a
>>> a

[123, 'bruja', 'xyzzy', 1234, 123, 'bruja', 'xyzzy', 1234]


>>> # Vaciar la lista: reemplazar todos los items con una lista vaca
>>> a[:] = []
>>> a
[]
La funcin predefinida len() tambin sirve para las listas:
>>> a = ['a', 'b', 'c', 'd']
>>> len(a)
4
Es posible anidar listas (crear listas que contengan otras listas):
>>> q = [2, 3]
>>> p = [1, q, 4]
>>> len(p)
3
>>> p[1]
[2, 3]
>>> p[1][0]
2
>>> p[1].append('extra') # Ver seccion 5.1
>>> p
[1, [2, 3, 'extra'], 4]
>>> q
[2, 3, 'extra']
Not que en el ltimo p[1] y q realmente hacen referencia al mismo objeto! Volveremos
a la
semntica de los objetos ms adelante.
Por supuesto, podemos usar Python para tareas ms complicadas que sumar dos y dos.
podemos escribir una subsecuencia inicial de la serie de Fibonacci as:
>>> # Series de Fibonacci:
... # la suma de dos elementos define el siguiente
... a, b = 0, 1
>>> while b < 10:
... print b
... a, b = b, a+b
...
1
1
2
3
5
8
La declaracin print escribe el valor de la o las expresiones que se le pasan. Dif
iere de
simplemente escribir la expresin que se quiere mostrar (como hicimos antes en los
ejemplos de la
calculadora) en la forma en que maneja mltiples expresiones y cadenas. Las cadena
s de texto
son impresas sin comillas, y un espacio en blanco es insertado entre los element
os, as pods
formatear cosas de una forma agradable:
>>> i = 256*256
>>> print 'El valor de i es', i
El valor de i es 65536
Una coma final evita el salto de lnea al final de la salida:
>>> a, b = 0, 1
>>> while b < 1000:
... print b,
... a, b = b, a+b
...

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987


Not que el intrprete inserta un salto de lnea antes de imprimir el prximo prompt si
la ltima
lnea no estaba completa.
Tal vez el tipo ms conocido de sentencia sea el if.
>>> x = int(raw_input("Ingresa un entero, por favor: "))
Ingresa un entero, por favor: 42
>>> if x < 0:
... x = 0
... print 'Negativo cambiado a cero'
... elif x == 0:
... print 'Cero'
... elif x == 1:
... print 'Simple'
... else:
... print 'Mas'
...
'Mas'
Puede haber cero o ms bloques elif, y el bloque else es opcional. La palabra rese
rvada 'elif' es
una abreviacin de 'else if', y es til para evitar un sangrado excesivo. Una secuen
cia if ... elif ...
elif ... sustituye las sentencias switch o case encontradas en otros lenguajes.
La sentencia for en Python difiere un poco de lo que uno puede estar acostumbrad
o en lenguajes como
C o Pascal. En lugar de siempre iterar sobre una progresin aritmtica de nmeros (com
o en Pascal) o
darle al usuario la posibilidad de definir tanto el paso de la iteracin como la c
ondicin de fin (como en C),
la sentencia for de Python itera sobre los tems de cualquier secuencia (una lista
o una cadena de
texto), en el orden que aparecen en la secuencia. Por ejemplo:
>>> # Midiendo cadenas de texto
... a = ['gato', 'ventana', 'defenestrado']
>>> for x in a:
... print x, len(x)
...
gato 4
ventana 7
defenestrado 12
No es seguro modificar la secuencia sobre la que se est iterando en el lazo (esto
solo es posible para
tipos de secuencias mutables, como las listas). Si se necesita modificar la list
a sobre la que se est
iterando (por ejemplo, para duplicar tems seleccionados) se debe iterar sobre una
copia. La notacin de
rebanada es conveniente para esto:
>>> for x in a[:]: # hacer una copia por rebanada de toda la lista
... if len(x) > 6: a.insert(0, x)
...
>>> a
['defenestrado', 'ventana', 'gato', 'ventana', 'defenestrado']
Si se necesita iterar sobre una secuencia de nmeros, es apropiado utilizar la fun
cin integrada range().
Genera una lista conteniendo progresiones aritmticas:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
El valor final dado nunca es parte de la lista; range(10) genera una lista de 10
valores, los ndices
correspondientes para los tems de una secuencia de longitud 10. Es posible hacer

que el rango empiece


con otro nmero, o especificar un incremento diferente (incluso negativo; algunas
veces se lo llama
'paso'):
>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]
Para iterar sobre los ndices de una secuencia, pods combinar range() y len() as:
>>> a = ['Mary', 'tenia', 'un', 'corderito']
>>> for i in range(len(a)):
... print i, a[i]
...
0 Mary
1 tenia
2 un
3 corderito
En la mayora de los casos, sin embargo, conviene usar la funcin enumerate(), mir tu
t-loopidioms.
La sentencia break, como en C, termina el lazo for o while ms anidado.
La sentencia continue, tambin tomada prestada de C, continua con la prxima iteracin
del lazo.
Las sentencias de lazo pueden tener una clusula else que es ejecutada cuando el l
azo termina, luego
de agotar la lista (con for) o cuando la condicin se hace falsa (con while), pero
no cuando el lazo es
terminado con la sentencia break. Se ejemplifica en el siguiente lazo, que busca
nmeros primos:
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print n, 'es igual a', x, '*', n/x
... break
... else:
... # sigue el bucle sin encontrar un factor
... print n, 'es un numero primo'
...
2 es un numero primo
3 es un numero primo
4 es igual a 2 * 2
5 es un numero primo
6 es igual a 2 * 3
7 es un numero primo
8 es igual a 2 * 4
9 es igual a 3 * 3
La sentencia pass no hace nada. Se puede usar cuando una sentencia es requerida
por la sintxis pero
el programa no requiere ninguna accin. Por ejemplo:
>>> while True:
... pass # Espera ocupada hasta una interrupcin de teclado (Ctrl+C)
...
Se usa normalmente para crear clases en su mnima expresin:
>>> class MyEmptyClass:
... pass
...
Otro lugar donde se puede usar pass es como una marca de lugar para una funcin o
un cuerpo
condicional cuando ests trabajando en cdigo nuevo, lo cual te permite pensar a un

nivel de abstraccin
mayor. El pass se ignora silenciosamente:
>>> def initlog(*args):
... pass # Acordate de implementar esto!
...
Podemos crear una funcin que escriba la serie de Fibonacci hasta un lmite determin
ado:
>>> def fib(n): # escribe la serie de Fibonacci hasta n
... """Escribe la serie de Fibonacci hasta n."""
... a, b = 0, 1
... while b < n:
... print b,
... a, b = b, a+b
...
>>> # Ahora llamamos a la funcion que acabamos de definir:
... fib(2000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
>>>
2
>>>
>>>
[0,
int
{

1 + 1
a = range(10)
print a
1, 2, 3, 4, 5, 6, 7, 8, 9]
factorial(int x)

if (x == 0)
return 1;
else
return x * factorial(x - 1);
}
def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)
Debido al significado sintctico de la indentacin, una instruccin debe estar conteni
da en lnea. No obstante, si por legibilidad se quiere dividir la instruccin en var
ias lneas, aadiendo una barra invertida \ al final de una lnea, se indica que la in
struccin contina en la siguiente.
Estas instrucciones son equivalentes:
lista=['valor 1','valor 2','valor 3']
cadena='Esto es una cadena bastante larga'
lista=['valor 1','valor 2' \
,'valor 3']
cadena='Esto es una cadena ' \
'bastante larga'
Listas
>>> lista = ["abc", 42, 3.1415]
>>> lista[0] # Acceder a un elemento por su ndice
'abc'
>>> lista[-1] # Acceder a un elemento usando un ndice negativo
3.1415
>>> lista.append(True) # Aadir un elemento al final de la lista
>>> lista
['abc', 42, 3.1415, True]
>>> del lista[3] # Borra un elemento de la lista usando un ndice (en este caso: T
rue)
>>> lista[0] = "xyz" # Re-asignar el valor del primer elemento de la lista
>>> lista[0:2] # Mostrar los elementos de la lista del ndice "0" al "2" (sin incl
uir este ltimo)
['xyz', 42]
>>> lista_anidada = [lista, [True, 42L]] # Es posible anidar listas

>>> lista_anidada
[['xyz', 42, 3.1415], [True, 42L]]
>>> lista_anidada[1][0] # Acceder a un elemento de una lista dentro de otra list
a (del segundo elemento, mostrar el primer elemento)
True
Tuplas
>>> tupla = ("abc", 42, 3.1415)
>>> tupla[0] # Acceder a un elemento por su ndice
'abc'
>>> del tupla[0] # No es posible borrar (ni aadir) un elemento en una tupla, lo q
ue provocar una excepcin
( Excepcin )
>>> tupla[0] = "xyz" # Tampoco es posible re-asignar el valor de un elemento en
una tupla, lo que tambin provocar una excepcin
( Excepcin )
>>> tupla[0:2] # Mostrar los elementos de la tupla del ndice "0" al "2" (sin incl
uir este ltimo)
('abc', 42)
>>> tupla_anidada = (tupla, (True, 3.1415)) # Tambin es posible anidar tuplas
>>> 1, 2, 3, "abc" # Esto tambin es una tupla, aunque es recomendable ponerla ent
re parntesis (recuerda que requiere, al menos, una coma)
(1, 2, 3, 'abc')
>>> (1) # Aunque entre parntesis, esto no es una tupla, ya que no posee al menos
una coma, por lo que nicamente aparecer el valor
1
>>> (1,) # En cambio, en este otro caso, s es una tupla
(1,)
>>> (1, 2) # Con ms de un elemento no es necesaria la coma final
(1, 2)
>>> (1, 2,) # Aunque agregarla no modifica el resultado
(1, 2)
>>> diccionario = {"cadena": "abc", "numero": 42, "lista": [True, 42L]} # Diccio
nario que tiene diferentes valores por cada clave, incluso una lista
>>> diccionario["cadena"] # Usando una clave, se accede a su valor
'abc'
>>> diccionario["lista"][0] # Acceder a un elemento de una lista dentro de un va
lor (del valor de la clave "lista", mostrar el primer elemento)
True
>>> diccionario["cadena"] = "xyz" # Re-asignar el valor de una clave
>>> diccionario["cadena"]
'xyz'
>>> diccionario["decimal"] = 3.1415927 # Insertar un nuevo elemento clave:valor
>>> diccionario["decimal"]
3.1415927
>>> diccionario_mixto = {"tupla": (True, 3.1415), "diccionario": diccionario} #
Tambin es posible que un valor sea un diccionario
>>> diccionario_mixto["diccionario"]["lista"][1] # Acceder a un elemento dentro
de una lista, que se encuentra dentro de un diccionario
42L
>>> diccionario = {("abc",): 42} # S es posible que una clave sea una tupla, pues
es inmutable
>>> diccionario = {["abc"]: 42} # No es posible que una clave sea una lista, pue
s es mutable, lo que provocar una excepcin
( Excepcin )
>>> conjunto_inmutable = frozenset(["a", "b", "a"]) # Se utiliza una lista como
objeto iterable
>>> conjunto_inmutable
frozenset(['a', 'b'])
>>> conjunto1 = set(["a", "b", "a"]) # Primer conjunto mutable
>>> conjunto1

set(['a', 'b'])
>>> conjunto2 = set(["a", "b", "c", "d"]) # Segundo conjunto mutable
>>> conjunto2
set(['a', 'c', 'b', 'd']) # Recuerda, no mantienen el orden, como los diccionari
os
>>> conjunto1 & conjunto2 # Interseccin
set(['a', 'b'])
>>> conjunto1 | conjunto2 # Unin
set(['a', 'c', 'b', 'd'])
>>> conjunto1 - conjunto2 # Diferencia (1)
set([])
>>> conjunto2 - conjunto1 # Diferencia (2)
set(['c', 'd'])
>>> conjunto1 ^ conjunto2 # Diferencia simtrica
set(['c', 'd'])
>>> range(5) # La funcin "range" devuelve una lista, empezando en 0 y terminando
con el nmero indicado menos uno
[0, 1, 2, 3, 4]
>>> [i*i for i in range(5)] # Por cada elemento del rango, lo multiplica por s mi
smo y lo agrega al resultado
[0, 1, 4, 9, 16]
>>> lista = [(i, i + 2) for i in range(5)]
>>> lista
[(0, 2), (1, 3), (2, 4), (3, 5), (4, 6)]
def:
>>> def suma(x, y = 2):
...
return x + y # Retornar la suma del valor de la variable "x" y el valor
de "y"
...
>>> suma(4) # La variable "y" no se modifica, siendo su valor: 2
6
>>> suma(4, 10) # La variable "y" s se modifica, siendo su nuevo valor: 10
14
lambda:
>>> suma = lambda x, y = 2: x + y
>>> suma(4) # La variable "y" no se modifica, siendo su valor: 2
6
>>> suma(4, 10) # La variable "y" s se modifica, siendo su nuevo valor: 10
14
>>> class Persona(object):
...
def __init__(self, nombre, edad):
...
self.nombre = nombre # Una Propiedad cualquiera
...
self.edad = edad # Otra propiedad cualquiera
...
def mostrar_edad(self): # Es necesario que, al menos, tenga un parmetro,
generalmente: "self"
...
print self.edad # mostrando una propiedad
...
def modificar_edad(self, edad): # Modificando Edad
...
if edad < 0 or edad > 150: # Se comprueba que la edad no sea menor d
e 0 (algo imposible), ni mayor de 150 (algo realmente difcil)
...
return False
...
else: # Si est en el rango 0-150, entonces se modifica la variable
...
self.edad = edad # Se modifica la edad
...
>>> p = Persona("Alicia", 20) # Instanciamos la clase, como se puede ver, no se
especifica el valor de "self"
>>> p.nombre # La variable "nombre" del objeto s es accesible desde fuera
'Alicia'
>>> p.nombre = "Andrea" # Y por tanto, se puede cambiar su contenido
>>> p.nombre
'Andrea'

>>> p.mostrar_edad() # Podemos llamar a un mtodo de la clase


20
>>> p.modificar_edad(21) # Y podemos cambiar la edad usando el mtodo especfico que
hemos hecho para hacerlo de forma controlada
>>> p.mostrar_edad()
21
>>> verdadero = True
>>> if verdadero: # No es necesario poner "verdadero == True"
...
print "Verdadero"
... else:
...
print "Falso"
...
Verdadero
>>> lenguaje = "Python"
>>> if lenguaje == "C": # lenguaje no es "C", por lo que este bloque se obviar y
evaluar la siguiente condicin
...
print "Lenguaje de programacin: C"
... elif lenguaje == "Python": # Se pueden aadir tantos bloques "elif" como se qu
iera
...
print "Lenguaje de programacin: Python"
... else: # En caso de que ninguna de las anteriores condiciones fuera cierta, s
e ejecutara este bloque
...
print "Lenguaje de programacin: indefinido"
...
Lenguaje de programacin: Python
>>> if verdadero and lenguaje == "Python": # Uso de "and" para comprobar que amb
as condiciones son verdaderas
...
print "Verdadero y Lenguaje de programacin: Python"
...
Verdadero y Lenguaje de programacin: Python
>>> lista = ["a", "b", "c"]
>>> for i in lista: # Iteramos sobre una lista, que es iterable
...
print i
...
a
b
c
>>> cadena = "abcdef"
>>> for i in cadena: # Iteramos sobre una cadena, que tambin es iterable
...
print i, # Aadiendo una coma al final hacemos que no introduzca un salto
de lnea, sino un espacio
...
a b c d e f
>>> numero = 0
>>> while numero < 10:
...
numero += 1
...
print numero,
...
1 2 3 4 5 6 7 8 9
>>> import os # Mdulo que provee funciones del sistema operativo
>>> os.name # Devuelve el nombre del sistema operativo
'posix'
>>> os.mkdir("/tmp/ejemplo") # Crea un directorio en la ruta especificada
>>> import time # Mdulo para trabajar con fechas y horas
>>> time.strftime("%Y-%m-%d %H:%M:%S") # Dndole un cierto formato, devuelve la fe
cha y/o hora actual
'2010-08-10 18:01:17'
Sistema de objetos
En Python todo es un objeto (incluso las clases). Las clases, al ser objetos, so
n instancias de una metaclase. Python adems soporta herencia mltiple y polimorfism

o.
>>> cadena = "abc" # Una cadena es un objeto de "str"
>>> cadena.upper() # Al ser un objeto, posee sus propios mtodos
'ABC'
>>> lista = [True, 3.1415] # Una lista es un objeto de "list"
>>> lista.append(42L) # Una lista tambin (al igual que todo) es un objeto, y tamb
in posee sus propios mtodos
>>> lista
[True, 3.1415, 42L]
La primer fila de nmeros da la posicin de los ndices 0...6 en la cadena; la segunda
fila da los
correspondientes ndices negativos. La rebanada de i a j consiste en todos los car
acteres entre los puntos
etiquetados i y j, respectivamente.
Para ndices no negativos, la longitud de la rebanada es la diferencia de los ndice
s, si ambos entran en
los lmites. Por ejemplo, la longitud de palabra[1:3] es 2.
La funcin incorporada len() devuelve la longitud de una cadena de texto:
>>> s = 'supercalifrastilisticoespialidoso'
>>> len(s)
33
Crear cadenas Unicode en Python es tan simple como crear cadenas de texto normal
es:
>>> u'Hola Mundo!'
u'Hola Mundo!'
La 'u' al frente de la comilla indica que se espera una cadena Unicode. Si quers
incluir caracteres
especiales en la cadena, pods hacerlo usando una forma de escapar caracteres Unic
ode provista por
Python. El siguiente ejemplo muestra cmo:
>>> u'Hola\u0020Mundo!'
u'Hola Mundo!'
La secuencia de escape \u0020 indica que se debe insertar el carcter Unicode con
valor ordinal 0x0020
(el espacio en blanco) en la posicin dada.
Otros caracteres son interpretados usando su respectivo valor ordinal como ordin
ales Unicode. Si tens
cadenas de texto literales en la codificacin estndar Latin-1 que es muy usada en p
ases occidentales,
encontrars conveniente que los primeros 256 caracteres de Unicode son los mismos
primeros 256
caracteres de Latin-1.
Tambin existe un modo crudo para expertos, del mismo modo que con las cadenas de
texto normales.
Debs anteponer 'ur' a la comilla inicial para que Python use el modo de escape cr
udo de Unicode. Solo
se aplicar la conversin \uXXXX si hay un nmero impar de barras invertidas frente a
la 'u'.
>>> ur'Hola\u0020Mundo!'
u'Hola Mundo!'
>>> ur'Hola\\u0020Mundo!'
u'Hola\\\\u0020Mundo!'
El modo crudo es til principalmente cuando tens que insertar muchas barras inverti
das, como puede
suceder al trabajar con expresiones regulares.
Adems de estas codificaciones estndar, Python provee muchas ms formas de crear cade
nas de texto
Unicode en las bases de codificaciones conocidas.
La funcin predefinida unicode() da acceso a todos los codecs (CODificadores y DEC

odificadores).
Algunos de los cdigos ms conocidos que estos codecs pueden convertir son Latin-1,
ASCII, UTF-8, y
UTF-16. Los dos ltimas son cdigos de longitud variable que almacenan cada carcter U
nicode en uno o
ms bytes. El cdigo por defecto es normalmente configurado a ASCII, que contiene lo
s caracteres del
rango 0-127 y rechaza cualquier otro con un error. Cuando una cadena Unicode se
imprime, escribe en un
archivo, o se convierte con la funcin str(), se realiza la conversin utilizando el
cdigo por defecto.
>>> u"abc"
u'abc'
>>> str(u"abc")
'abc'
>>> u""
u'\xe4\xf6\xfc'
>>> str(u"")
...
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordin
al not in range(128)
Para convertir una cadena Unicode en una cadena de 8-bit utilizando un cdigo en p
articular, los objetos
Unicode tienen un mtodo encode() que toma un argumento, el nombre del cdigo. Se pr
efieren los
nombres en minsculas para los nombres de los cdigos.
>>> u"".encode('utf-8')
'\xc3\xa4\xc3\xb6\xc3\xbc'
Si tens datos en un cdigo en particular y quers producir la cadena Unicode correspo
ndiente, pods
usar la funcin unicode() con el nombre del cdigo como segundo argumento.
>>> unicode('\xc3\xa4\xc3\xb6\xc3\xbc', 'utf-8')
u'\xe4\xf6\xfc'
Listas
Python tiene varios tipos de datos compuestos, usados para agrupar otros valores
. El ms verstil es la
lista, la cual puede ser escrita como una lista de valores separados por coma (te
ms) entre corchetes. No
es necesario que los tems de una lista tengan todos el mismo tipo.
>>> a = ['pan', 'huevos', 100, 1234]
>>> a
['pan', 'huevos', 100, 1234]
Como los ndices de las cadenas de texto, los ndices de las listas comienzan en 0,
y las listas pueden ser
rebanadas, concatenadas y todo lo dems:
>>> a[0]
'pan'
>>> a[3]
1234
>>> a[-2]
100
>>> a[1:-1]
['huevos', 100]
>>> a[:2] + ['carne', 2*2]
['pan', 'huevos', 'carne', 4]
>>> 3*a[:3] + ['Boo!']
['pan', 'huevos', 100, 'pan', 'huevos', 100, 'pan', 'huevos', 100, 'Boo!']
A diferencia de las cadenas de texto, que son inmutables, es posible cambiar un
elemento individual de
una lista:

>>> a
['pan', 'huevos', 100, 1234]
>>> a[2] = a[2] + 23
>>> a
['pan', 'huevos', 123, 1234]
Tambin es posible asignar a una rebanada, y esto incluso puede cambiar la longitu
d de la lista o vaciarla
totalmente:
>>> # Reemplazar algunos elementos:
... a[0:2] = [1, 12]
>>> a
[1, 12, 123, 1234]
>>> # Borrar algunos:
... a[0:2] = []
>>> a
[123, 1234]
>>> # Insertar algunos:
... a[1:1] = ['bruja', 'xyzzy']
>>> a
[123, 'bruja', 'xyzzy', 1234]
>>> # Insertar (una copia de) la misma lista al principio
>>> a[:0] = a
>>> a
[123, 'bruja', 'xyzzy', 1234, 123, 'bruja', 'xyzzy', 1234]
>>> # Vaciar la lista: reemplazar todos los items con una lista vaca
>>> a[:] = []
>>> a
[]
La funcin predefinida len() tambin sirve para las listas:
>>> a = ['a', 'b', 'c', 'd']
>>> len(a)
4
Es posible anidar listas (crear listas que contengan otras listas), por ejemplo:
>>> q = [2, 3]
>>> p = [1, q, 4]
>>> len(p)
3
>>> p[1]
[2, 3]
>>> p[1][0]
2
>>> p[1].append('extra') # Ver seccion 5.1
>>> p
[1, [2, 3, 'extra'], 4]
>>> q
[2, 3, 'extra']
Not que en el ltimo ejemplo, p[1] y q realmente hacen referencia al mismo objeto! V
olveremos a la
semntica de los objetos ms adelante.
Por supuesto, podemos usar Python para tareas ms complicadas que sumar dos y dos.
Por ejemplo,
podemos escribir una subsecuencia inicial de la serie de Fibonacci as:
>>> # Series de Fibonacci:
... # la suma de dos elementos define el siguiente
... a, b = 0, 1
>>> while b < 10:
... print b
... a, b = b, a+b
...
1

1
2
3
5
8
La declaracin print escribe el valor de la o las expresiones que se le pasan. Dif
iere de
simplemente escribir la expresin que se quiere mostrar (como hicimos antes en los
ejemplos de la
calculadora) en la forma en que maneja mltiples expresiones y cadenas. Las cadena
s de texto
son impresas sin comillas, y un espacio en blanco es insertado entre los element
os, as pods
formatear cosas de una forma agradable:
>>> i = 256*256
>>> print 'El valor de i es', i
El valor de i es 65536
Una coma final evita el salto de lnea al final de la salida:
>>> a, b = 0, 1
>>> while b < 1000:
... print b,
... a, b = b, a+b
...
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
Not que el intrprete inserta un salto de lnea antes de imprimir el prximo prompt si
la ltima
lnea no estaba completa.
Tal vez el tipo ms conocido de sentencia sea el if. Por ejemplo:
>>> x = int(raw_input("Ingresa un entero, por favor: "))
Ingresa un entero, por favor: 42
>>> if x < 0:
... x = 0
... print 'Negativo cambiado a cero'
... elif x == 0:
... print 'Cero'
... elif x == 1:
... print 'Simple'
... else:
... print 'Mas'
...
'Mas'
Puede haber cero o ms bloques elif, y el bloque else es opcional. La palabra rese
rvada 'elif' es
una abreviacin de 'else if', y es til para evitar un sangrado excesivo. Una secuen
cia if ... elif ...
elif ... sustituye las sentencias switch o case encontradas en otros lenguajes.
La sentencia for en Python difiere un poco de lo que uno puede estar acostumbrad
o en lenguajes como
C o Pascal. En lugar de siempre iterar sobre una progresin aritmtica de nmeros (com
o en Pascal) o
darle al usuario la posibilidad de definir tanto el paso de la iteracin como la c
ondicin de fin (como en C),
la sentencia for de Python itera sobre los tems de cualquier secuencia (una lista
o una cadena de
texto), en el orden que aparecen en la secuencia. Por ejemplo:
>>> # Midiendo cadenas de texto
... a = ['gato', 'ventana', 'defenestrado']
>>> for x in a:
... print x, len(x)
...

gato 4
ventana 7
defenestrado 12
No es seguro modificar la secuencia sobre la que se est iterando en el lazo (esto
solo es posible para
tipos de secuencias mutables, como las listas). Si se necesita modificar la list
a sobre la que se est
iterando (por ejemplo, para duplicar tems seleccionados) se debe iterar sobre una
copia. La notacin de
rebanada es conveniente para esto:
>>> for x in a[:]: # hacer una copia por rebanada de toda la lista
... if len(x) > 6: a.insert(0, x)
...
>>> a
['defenestrado', 'ventana', 'gato', 'ventana', 'defenestrado']
Si se necesita iterar sobre una secuencia de nmeros, es apropiado utilizar la fun
cin integrada range().
Genera una lista conteniendo progresiones aritmticas:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
El valor final dado nunca es parte de la lista; range(10) genera una lista de 10
valores, los ndices
correspondientes para los tems de una secuencia de longitud 10. Es posible hacer
que el rango empiece
con otro nmero, o especificar un incremento diferente (incluso negativo; algunas
veces se lo llama
'paso'):
>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]
Para iterar sobre los ndices de una secuencia, pods combinar range() y len() as:
>>> a = ['Mary', 'tenia', 'un', 'corderito']
>>> for i in range(len(a)):
... print i, a[i]
...
0 Mary
1 tenia
2 un
3 corderito
En la mayora de los casos, sin embargo, conviene usar la funcin enumerate(), mir tu
t-loopidioms.
La sentencia break, como en C, termina el lazo for o while ms anidado.
La sentencia continue, tambin tomada prestada de C, continua con la prxima iteracin
del lazo.
Las sentencias de lazo pueden tener una clusula else que es ejecutada cuando el l
azo termina, luego
de agotar la lista (con for) o cuando la condicin se hace falsa (con while), pero
no cuando el lazo es
terminado con la sentencia break. Se ejemplifica en el siguiente lazo, que busca
nmeros primos:
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print n, 'es igual a', x, '*', n/x
... break
... else:
... # sigue el bucle sin encontrar un factor

... print n, 'es un numero primo'


...
2 es un numero primo
3 es un numero primo
4 es igual a 2 * 2
5 es un numero primo
6 es igual a 2 * 3
7 es un numero primo
8 es igual a 2 * 4
9 es igual a 3 * 3
La sentencia pass no hace nada. Se puede usar cuando una sentencia es requerida
por la sintxis pero
el programa no requiere ninguna accin. Por ejemplo:
>>> while True:
... pass # Espera ocupada hasta una interrupcin de teclado (Ctrl+C)
...
Se usa normalmente para crear clases en su mnima expresin:
>>> class MyEmptyClass:
... pass
...
Otro lugar donde se puede usar pass es como una marca de lugar para una funcin o
un cuerpo
condicional cuando ests trabajando en cdigo nuevo, lo cual te permite pensar a un
nivel de abstraccin
mayor. El pass se ignora silenciosamente:
>>> def initlog(*args):
... pass # Acordate de implementar esto!
...
Podemos crear una funcin que escriba la serie de Fibonacci hasta un lmite determin
ado:
>>> def fib(n): # escribe la serie de Fibonacci hasta n
... """Escribe la serie de Fibonacci hasta n."""
... a, b = 0, 1
... while b < n:
... print b,
... a, b = b, a+b
...
>>> # Ahora llamamos a la funcion que acabamos de definir:
... fib(2000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
>>>
2
>>>
>>>
[0,
int
{

1 + 1
a = range(10)
print a
1, 2, 3, 4, 5, 6, 7, 8, 9]
factorial(int x)

if (x == 0)
return 1;
else
return x * factorial(x - 1);
}
def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)
Debido al significado sintctico de la indentacin, una instruccin debe estar conteni
da en lnea. No obstante, si por legibilidad se quiere dividir la instruccin en var
ias lneas, aadiendo una barra invertida \ al final de una lnea, se indica que la in

struccin contina en la siguiente.


Estas instrucciones son equivalentes:
lista=['valor 1','valor 2','valor 3']
cadena='Esto es una cadena bastante larga'
lista=['valor 1','valor 2' \
,'valor 3']
cadena='Esto es una cadena ' \
'bastante larga'
Listas
>>> lista = ["abc", 42, 3.1415]
>>> lista[0] # Acceder a un elemento por su ndice
'abc'
>>> lista[-1] # Acceder a un elemento usando un ndice negativo
3.1415
>>> lista.append(True) # Aadir un elemento al final de la lista
>>> lista
['abc', 42, 3.1415, True]
>>> del lista[3] # Borra un elemento de la lista usando un ndice (en este caso: T
rue)
>>> lista[0] = "xyz" # Re-asignar el valor del primer elemento de la lista
>>> lista[0:2] # Mostrar los elementos de la lista del ndice "0" al "2" (sin incl
uir este ltimo)
['xyz', 42]
>>> lista_anidada = [lista, [True, 42L]] # Es posible anidar listas
>>> lista_anidada
[['xyz', 42, 3.1415], [True, 42L]]
>>> lista_anidada[1][0] # Acceder a un elemento de una lista dentro de otra list
a (del segundo elemento, mostrar el primer elemento)
True
Tuplas
>>> tupla = ("abc", 42, 3.1415)
>>> tupla[0] # Acceder a un elemento por su ndice
'abc'
>>> del tupla[0] # No es posible borrar (ni aadir) un elemento en una tupla, lo q
ue provocar una excepcin
( Excepcin )
>>> tupla[0] = "xyz" # Tampoco es posible re-asignar el valor de un elemento en
una tupla, lo que tambin provocar una excepcin
( Excepcin )
>>> tupla[0:2] # Mostrar los elementos de la tupla del ndice "0" al "2" (sin incl
uir este ltimo)
('abc', 42)
>>> tupla_anidada = (tupla, (True, 3.1415)) # Tambin es posible anidar tuplas
>>> 1, 2, 3, "abc" # Esto tambin es una tupla, aunque es recomendable ponerla ent
re parntesis (recuerda que requiere, al menos, una coma)
(1, 2, 3, 'abc')
>>> (1) # Aunque entre parntesis, esto no es una tupla, ya que no posee al menos
una coma, por lo que nicamente aparecer el valor
1
>>> (1,) # En cambio, en este otro caso, s es una tupla
(1,)
>>> (1, 2) # Con ms de un elemento no es necesaria la coma final
(1, 2)
>>> (1, 2,) # Aunque agregarla no modifica el resultado
(1, 2)
>>> diccionario = {"cadena": "abc", "numero": 42, "lista": [True, 42L]} # Diccio
nario que tiene diferentes valores por cada clave, incluso una lista
>>> diccionario["cadena"] # Usando una clave, se accede a su valor
'abc'
>>> diccionario["lista"][0] # Acceder a un elemento de una lista dentro de un va
lor (del valor de la clave "lista", mostrar el primer elemento)

True
>>> diccionario["cadena"] = "xyz" # Re-asignar el valor de una clave
>>> diccionario["cadena"]
'xyz'
>>> diccionario["decimal"] = 3.1415927 # Insertar un nuevo elemento clave:valor
>>> diccionario["decimal"]
3.1415927
>>> diccionario_mixto = {"tupla": (True, 3.1415), "diccionario": diccionario} #
Tambin es posible que un valor sea un diccionario
>>> diccionario_mixto["diccionario"]["lista"][1] # Acceder a un elemento dentro
de una lista, que se encuentra dentro de un diccionario
42L
>>> diccionario = {("abc",): 42} # S es posible que una clave sea una tupla, pues
es inmutable
>>> diccionario = {["abc"]: 42} # No es posible que una clave sea una lista, pue
s es mutable, lo que provocar una excepcin
( Excepcin )
>>> conjunto_inmutable = frozenset(["a", "b", "a"]) # Se utiliza una lista como
objeto iterable
>>> conjunto_inmutable
frozenset(['a', 'b'])
>>> conjunto1 = set(["a", "b", "a"]) # Primer conjunto mutable
>>> conjunto1
set(['a', 'b'])
>>> conjunto2 = set(["a", "b", "c", "d"]) # Segundo conjunto mutable
>>> conjunto2
set(['a', 'c', 'b', 'd']) # Recuerda, no mantienen el orden, como los diccionari
os
>>> conjunto1 & conjunto2 # Interseccin
set(['a', 'b'])
>>> conjunto1 | conjunto2 # Unin
set(['a', 'c', 'b', 'd'])
>>> conjunto1 - conjunto2 # Diferencia (1)
set([])
>>> conjunto2 - conjunto1 # Diferencia (2)
set(['c', 'd'])
>>> conjunto1 ^ conjunto2 # Diferencia simtrica
set(['c', 'd'])
>>> range(5) # La funcin "range" devuelve una lista, empezando en 0 y terminando
con el nmero indicado menos uno
[0, 1, 2, 3, 4]
>>> [i*i for i in range(5)] # Por cada elemento del rango, lo multiplica por s mi
smo y lo agrega al resultado
[0, 1, 4, 9, 16]
>>> lista = [(i, i + 2) for i in range(5)]
>>> lista
[(0, 2), (1, 3), (2, 4), (3, 5), (4, 6)]
def:
>>> def suma(x, y = 2):
...
return x + y # Retornar la suma del valor de la variable "x" y el valor
de "y"
...
>>> suma(4) # La variable "y" no se modifica, siendo su valor: 2
6
>>> suma(4, 10) # La variable "y" s se modifica, siendo su nuevo valor: 10
14
lambda:
>>> suma = lambda x, y = 2: x + y
>>> suma(4) # La variable "y" no se modifica, siendo su valor: 2
6

>>> suma(4, 10) # La variable "y" s se modifica, siendo su nuevo valor: 10


14
>>> class Persona(object):
...
def __init__(self, nombre, edad):
...
self.nombre = nombre # Una Propiedad cualquiera
...
self.edad = edad # Otra propiedad cualquiera
...
def mostrar_edad(self): # Es necesario que, al menos, tenga un parmetro,
generalmente: "self"
...
print self.edad # mostrando una propiedad
...
def modificar_edad(self, edad): # Modificando Edad
...
if edad < 0 or edad > 150: # Se comprueba que la edad no sea menor d
e 0 (algo imposible), ni mayor de 150 (algo realmente difcil)
...
return False
...
else: # Si est en el rango 0-150, entonces se modifica la variable
...
self.edad = edad # Se modifica la edad
...
>>> p = Persona("Alicia", 20) # Instanciamos la clase, como se puede ver, no se
especifica el valor de "self"
>>> p.nombre # La variable "nombre" del objeto s es accesible desde fuera
'Alicia'
>>> p.nombre = "Andrea" # Y por tanto, se puede cambiar su contenido
>>> p.nombre
'Andrea'
>>> p.mostrar_edad() # Podemos llamar a un mtodo de la clase
20
>>> p.modificar_edad(21) # Y podemos cambiar la edad usando el mtodo especfico que
hemos hecho para hacerlo de forma controlada
>>> p.mostrar_edad()
21
>>> verdadero = True
>>> if verdadero: # No es necesario poner "verdadero == True"
...
print "Verdadero"
... else:
...
print "Falso"
...
Verdadero
>>> lenguaje = "Python"
>>> if lenguaje == "C": # lenguaje no es "C", por lo que este bloque se obviar y
evaluar la siguiente condicin
...
print "Lenguaje de programacin: C"
... elif lenguaje == "Python": # Se pueden aadir tantos bloques "elif" como se qu
iera
...
print "Lenguaje de programacin: Python"
... else: # En caso de que ninguna de las anteriores condiciones fuera cierta, s
e ejecutara este bloque
...
print "Lenguaje de programacin: indefinido"
...
Lenguaje de programacin: Python
>>> if verdadero and lenguaje == "Python": # Uso de "and" para comprobar que amb
as condiciones son verdaderas
...
print "Verdadero y Lenguaje de programacin: Python"
...
Verdadero y Lenguaje de programacin: Python
>>> lista = ["a", "b", "c"]
>>> for i in lista: # Iteramos sobre una lista, que es iterable
...
print i
...
a
b
c

>>> cadena = "abcdef"


>>> for i in cadena: # Iteramos sobre una cadena, que tambin es iterable
...
print i, # Aadiendo una coma al final hacemos que no introduzca un salto
de lnea, sino un espacio
...
a b c d e f
>>> numero = 0
>>> while numero < 10:
...
numero += 1
...
print numero,
...
1 2 3 4 5 6 7 8 9
>>> import os # Mdulo que provee funciones del sistema operativo
>>> os.name # Devuelve el nombre del sistema operativo
'posix'
>>> os.mkdir("/tmp/ejemplo") # Crea un directorio en la ruta especificada
>>> import time # Mdulo para trabajar con fechas y horas
>>> time.strftime("%Y-%m-%d %H:%M:%S") # Dndole un cierto formato, devuelve la fe
cha y/o hora actual
'2010-08-10 18:01:17'
Sistema de objetos
En Python todo es un objeto (incluso las clases). Las clases, al ser objetos, so
n instancias de una metaclase. Python adems soporta herencia mltiple y polimorfism
o.
>>> cadena = "abc" # Una cadena es un objeto de "str"
>>> cadena.upper() # Al ser un objeto, posee sus propios mtodos
'ABC'
>>> lista = [True, 3.1415] # Una lista es un objeto de "list"
>>> lista.append(42L) # Una lista tambin (al igual que todo) es un objeto, y tamb
in posee sus propios mtodos
>>> lista
[True, 3.1415, 42L]
1101111 01101101 01110000 01110010 01101111 01101101 01101001 01110011 01101111
00100000 01110001 01110101 01100101 00100000 01101100 01101100 01100101 01110110
01100001 01100010 01100001 00100000 01110000 01110101 01100101 01110011 0111010
0 01101111 00101100 00100000 01110001 01110101 01100101 00100000 01101100 011001
01 00100000 01100010 01100001 01101001 01101100 01100001 01100010 01100001 00100
000 01100101 01101110 00100000 01100101 01101100 00100000 01100100 01100101 0110
0100 01101111 00101110 00100000 01000101 01101100 00100000 01100100 01101001 011
00001 01101101 01100001 01101110 01110100 01100101 00100000 01111001 00100000 01
101100 01100001 00100000 01101101 01101111 01101110 01110100 01110101 01110010 0
1100001 00100000 01100101 01110010 01100001 01101110 00100000 01110100 01100001
01101110 00100000 01100111 01110010 01100001 01101110 01100100 01100101 01110011
00100000 01110001 01110101 01100101 00100000 01110010 01100101 01110011 0111010
1 01101100 01110100 01100001 01100010 01100001 00100000 01100001 01100010 011100
10 01110101 01101101 01100001 01100100 01101111 01110010 00100000 01100101 01101
110 00100000 01100101 01110011 01101111 01110011 00100000 01100100 01100101 0110
0100 01101111 01110011 00100000 01110100 01100001 01101110 00100000 01100100 011
00101 01101100 01100111 01100001 01100100 01101111 01110011 00101110 00001101 00
001010 00001101 00001010 10010110 10111111 01010110 01100001 01110011 00100000 0
1100001 00100000 01100011 01100001 01110011 01100001 01110010 01110100 01100101
00100000 01110000 01110010 01101111 01101110 01110100 01101111 00111111 00001101
00001010 00001101 00001010 10010110 01010011 11101101 00100000 10010110 0111001
1 01110101 01110011 01110000 01101001 01110010 11110011 00100000 01001011 011101
01 01110101 00101110 00100000 01010011 01110101 00100000 01110010 01101111 01110
011 01110100 01110010 01101111 00100000 01101110 01101111 00100000 01110011 0110
0101 00100000 01101001 01101100 01110101 01101101 01101001 01101110 11110011 001
00000 01100011 01101111 01101101 01101111 00100000 01101000 01100001 01100010 01

110010 11101101 01100001 00100000 01100100 01100101 01100010 01101001 01100100 0


1101111 00101110 00100000 01010011 01100101 00100000 01101001 01101110 01100011
01101100 01101001 01101110 01101111 00100000 01101000 01100001 01100011 01101001
01100001 00100000 01100101 01101100 01101100 01100001 00100000 01100011 0110111
1 01101101 01101111 00100000 01110011 01101001 00100000 01100110 01110101 011001
01 01110010 01100001 00100000 01100001 00100000 01100011 01101111 01101110 01110
100 01100001 01110010 01101100 01100101 00100000 01110101 01101110 00100000 0110
0011 01101111 01110100 01101001 01101100 01101100 01100101 01101111 00100000 100
10110 00101110 00100000 01001101 01100101 00100000 01100011 01100001 01110011 01
101111 00100000 01100011 01101111 01101110 00100000 01001000 01101001 01101101 0
1100101 01101101 01101001 01111001 01100001 00100000 01000011 01101000 01101001
01101011 01100001 01101110 01100101 00100000 01100101 01101110 00100000 01100101
01101100 00100000 01001101 01100001 01101110 01100100 01100001 01110010 1110110
1 01101110 00100000 01001111 01110010 01101001 01100101 01101110 01110100 011000
01 01101100 00101100 00100000 01100101 01101110 00100000 01101101 01100001 01111
001 01101111 00101110 00100000 01010000 01110010 01101111 01110000 01101001 0110
0101 01110100 01100001 01110010 01101001 01100001 00100000 01100100 01100101 011
01100 00100000 01010100 01101111 01101011 01101001 01101111 00100000 01010011 01
101000 01101001 01101101 01100010 01110101 01101110 00101110 00001101 00001010 0
0001101 00001010 01000011 01101111 01101110 00100000 01100101 01110011 01101111
00100000 01110001 01110101 01100101 01100100 01100001 01100010 01100001 00100000
01100100 01101001 01100011 01101000 01101111 00100000 01110100 01101111 0110010
0 01101111 00101110 00100000 01010011 01100101 01100111 01110101 01110010 011000
01 01101101 01100101 01101110 01110100 01100101 00100000 01100111 01100001 01110
011 01110100 01100001 01110010 11101101 01100001 00100000 01101101 11100001 0111
0011 00100000 01100101 01101110 00100000 01110011 01110101 00100000 01110110 011
00101 01110011 01110100 01101001 01100100 01101111 00100000 01100100 01100101 00
100000 01100010 01101111 01100100 01100001 00100000 01110001 01110101 01100101 0
0100000 01101100 01101111 00100000 01110001 01110101 01100101 00100000 01001000
01101001 01101101 01100101 01101011 01101111 00100000 01101000 01100001 01100010
11101101 01100001 00100000 01101000 01100101 01110010 01100101 01100100 0110000
1 01100100 01101111 00100000 01100011 01110101 01100001 01101110 01100100 011011
11 00100000 01100110 01100001 01101100 01101100 01100101 01100011 01101001 11110
011 00100000 01110011 01110101 00100000 01110000 01100001 01100100 01110010 0110
0101 00101110 00001101 00001010 00001101 00001010 10010110 10111111 01010001 011
10101 01101001 11101001 01101110 00100000 01100100 01101001 01110011 01100101 11
110001 01100001 01110010 01100001 00100000 01110100 01110101 00100000 01110110 0
1100101 01110011 01110100 01101001 01100100 01101111 00111111 00100000 10010110
01101100 01100101 00100000 01110000 01110010 01100101 01100111 01110101 01101110
01110100 11110011 00101110 00001101 00001010 00001101 00001010 10010110 0101100
1 01110101 01101101 01101001 00100000 01001011 01100001 01110100 01110011 011101
01 01110010 01100001 00101110 00001101 00001010 00001101 00001010 10010110 01001
101 01100101 00100000 01100101 01101110 01100011 01100001 01101110 01110100 0110
0001 00101110 00100000 01001000 01101001 01100011 01100101 00100000 01110000 011
10010 11100001 01100011 01110100 01101001 01100011 01100001 01110011 00100000 01
100011 01101111 01101110 00100000 01100101 01101100 01101100 01100001 00100000 0
1110101 01101110 00100000 01110110 01100101 01110010 01100001 01101110 01101111
00101100 00100000 01100101 01101110 00100000 01101100 01100001 00100000 01100110
01100001 01100011 01110101 01101100 01110100 01100001 01100100 00101100 0010000
0 01110000 01100101 01110010 01101111 00100000 01110000 01110010 01100101 011001
10 01101001 01100101 01110010 01101111 00100000 01101100 01100001 00100000 01110
010 01101111 01110000 01100001 00100000 01100100 01100101 00100000 01100100 0110
1001 01100001 01110010 01101001 01101111 00100000 01110000 01100001 01110010 011
00001 00100000 01101101 01110101 01101010 01100101 01110010 00100000 01101101 01
101111 01100100 01100101 01110010 01101110 01100001 00100000 01111001 00100000 0
1110100 01110010 01100001 01100010 01100001 01101010 01100001 01100100 01101111
01110010 01100001 00101110 00100000 01010010 01101111 01110000 01100001 00100000
01100100 01100101 01110000 01101111 01110010 01110100 01101001 01110110 0110000
1 00101110 00100000 01010000 01110010 01100101 01101110 01100100 01100001 011100
11 00100000 01110011 01110101 01100101 01101100 01110100 01100001 01110011 00100

000 01110000 01100001 01110010 01100001 00100000 01100011 01101111 01101111 0111
0010 01100100 01101001 01101110 01100001 01110010 00101110 00001101 00001010 000
01101 00001010 10010110 10111111 01010100 01100101 00100000 01100100 01100101 01
100100 01101001 01100011 01100001 01110011 00100000 01100001 00100000 01101100 0
1100001 00100000 01101001 01101110 01100100 01110101 01110011 01110100 01110010
01101001 01100001 00100000 01100100 01100101 00100000 01101100 01100001 00100000
01101101 01101111 01100100 01100001 00111111 00001101 00001010 00001101 0000101
0 10010110 01001101 01100101 00100000 01100100 01100101 01100100 01101001 011000
11 01100001 01100010 01100001 00100000 10010110 01001000 01101001 01101101 01100
101 01101011 01101111 00100000 01110100 01101111 01110010 01100011 01101001 1111
0011 00100000 01100101 01101100 00100000 01100111 01100101 01110011 01110100 011
01111 00100000 10010110 00101110 00100000 01010100 01100101 01101110 11101101 01
100001 00100000 01110101 01101110 01100001 00100000 01100010 01101111 01110101 0
1110100 01101001 01110001 01110101 01100101 00100000 01100101 01101110 00100000
01000111 01101001 01101110 01111010 01100001 00101100 00100000 01110001 01110101
01100101 00100000 01100001 01100011 01100001 01100010 01101111 00100000 0110010
0 01100101 00100000 01100011 01100101 01110010 01110010 01100001 01110010 001011
10 00001101 00001010 00001101 00001010 10010110 10111111 01000100 11110011 01101
110 01100100 01100101 00100000 01110000 01101111 01100100 01110010 11101101 0110
0001 00100000 01101000 01100001 01100010 01100101 01110010 00100000 01110110 011
01001 01110011 01110100 01101111 00100000 01110100 01110101 00100000 01110100 01
110010 01100001 01100010 01100001 01101010 01101111 00111111 00001101 00001010 0
0001101 00001010 10010110 01001101 01100101 00100000 01110100 01100101 01101101
01101111 00100000 01110001 01110101 01100101 00100000 01100101 01110011 01110100
01100001 00100000 01100101 01110011 00100000 01110100 11111010 00100000 1111101
0 01101100 01110100 01101001 01101101 01100001 00100000 01101111 01110000 011011
11 01110010 01110100 01110101 01101110 01101001 01100100 01100001 01100100 00100
000 01100100 01100101 00100000 01110110 01100101 01110010 00100000 01110101 0110
1110 00100000 01001011 01110101 01110010 01110101 01110011 01110101 01100111 011
00001 01110111 01100001 00100000 01001000 01101001 01101101 01100101 01101011 01
101111 00100000 10010110 01110011 01100101 11110001 01100001 01101100 11110011 0
0100000 01101100 01100001 00100000 01100010 01101100 01110101 01110011 01100001
00100000 01100111 01110010 01101001 01110011 00100000 01111001 00100000 01110010
01101111 01110011 01100001 00100000 01110001 01110101 01100101 00100000 0110110
0 01101100 01100101 01110110 01100001 01100010 01100001 00100000 01110000 011101
01 01100101 01110011 01110100 01100001 00101110 00100000 01000101 01101100 00100
000 01101001 01101110 01110101 01110011 01110101 01100001 01101100 00100000 0110
0011 01110101 01100101 01101100 01101100 01101111 00100000 01111001 00100000 011
00101 01101100 00100000 01110000 01100101 01110011 01110000 01110101 01101110 01
110100 01100101 01100001 01100100 01101111 00100000 01101100 01100101 00100000 0
1100100 01100001 01100010 01100001 00100000 01110011 01110101 00100000 01110100
01101111 01110001 01110101 01100101 00100000 01100100 01101001 01110011 01110100
01101001 01101110 01110100 01101001 01110110 01101111 00101110 00001101 0000101
0 00001101 00001010 10010110 01000101 01110011 00100000 01110101 01101110 011000
01 00100000 01101100 11100001 01110011 01110100 01101001 01101101 01100001 00100
000 10010110 01001011 01110101 01110101 00100000 01100110 01110010 01110101 0110
1110 01100011 01101001 11110011 00100000 01100101 01101100 00100000 01100011 011
00101 11110001 01101111 00100000 10010110 00101110 00100000 01001101 01100101 00
100000 01100101 01101110 01100011 01100001 01101110 01110100 01100001 00101100 0
0100000 01111001 00100000 01100001 00100000 01101101 01101001 01110011 00100000
01100001 01101101 01101001 01100111 01100001 01110011 00100000 01110100 01100001
01101101 01100010 01101001 11101001 01101110 00100000 01101100 01100101 0111001
1 00100000 01100111 01110101 01110011 01110100 01100001 01110010 11101101 011000
01 00101110 00001101 00001010 00001101 00001010 01001000 01101001 01101101 01100
101 01101011 01101111 00100000 01101000 01100001 01100010 11101101 01100001 0010
0000 01101001 01101110 01110100 01100101 01101110 01110100 01100001 01100100 011
01111 00100000 01100100 01100001 01110010 00100000 01110000 01110101 01100010 01
101100 01101001 01100011 01101001 01100100 01100001 01100100 00100000 01100001 0
0100000 01110011 01110101 01110011 00100000 01110000 01110010 01100101 01101110
01100100 01100001 01110011 00100000 01100100 01110101 01110010 01100001 01101110

01110100 01100101 00100000 01110100 01110010 01100101 01110011 00100000 0110000


1 11110001 01101111 01110011 00101110 00100000 01001000 01100001 01100010 011000
01 00100000 01100101 01101110 01110110 01101001 01100001 01100100 01101111 00100
000 01101101 01110101 01100101 01110011 01110100 01110010 01100001 01110011 0010
0000 01100001 00100000 01100101 01110011 01110100 01101001 01101100 01101001 011
10011 01110100 01100001 01110011 00100000 01111001 00100000 01101000 01100001 01
100010 11101101 01100001 00100000 01101100 01110101 01100011 01101001 01100100 0
1101111 00100000 01110011 01110101 00100000 01110010 01101111 01110000 01100001
00100000 01110011 01101001 01100101 01101101 01110000 01110010 01100101 00100000
01110001 01110101 01100101 00100000 01110000 01101111 01100100 11101101 0110000
1 00101100 00100000 01100010 01110101 01110011 01100011 01100001 01101110 011001
00 01101111 00100000 01100011 01100001 01110000 01110100 01100001 01110010 00100
000 01101100 01100001 00100000 01100001 01110100 01100101 01101110 01100011 0110
1001 11110011 01101110 00100000 01100100 01100101 00100000 01100001 01101100 011
00111 01110101 01101001 01100101 01101110 00100000 01101001 01101110 01100110 01
101100 01110101 01111001 01100101 01101110 01110100 01100101 00101110 00100000 0
1011001 00101100 00100000 01110100 11101101 01110000 01101001 01100011 01101111
00100000 01100100 01100101 00100000 01110011 01110101 00100000 01110011 01110101
01100101 01110010 01110100 01100101 00101100 00100000 01100011 01101111 0110111
0 01101111 01100011 11101101 01100001 00100000 01100001 00100000 01101100 011000
01 00100000 01110000 01100101 01110010 01110011 01101111 01101110 01100001 00100
000 01100001 01100100 01100101 01100011 01110101 01100001 01100100 01100001 0010
0000 01100101 01101110 00100000 01100101 01101100 00100000 01100001 01110110 011
01001 11110011 01101110 00100000 01100100 01100101 00100000 01110110 01110101 01
100101 01101100 01110100 01100001 00100000 01100001 00100000 01100011 01100001 0
1110011 01100001 00101110 00001101 00001010 00001101 00001010 01001000 01101001
01101101 01100101 01101011 01101111 00100000 01110011 01100101 00100000 01110010
01100101 01100011 01101111 01110011 01110100 11110011 00100000 01111001 0010000
0 01100011 01100101 01110010 01110010 11110011 00100000 01101100 01101111 011100
11 00100000 01101111 01101010 01101111 01110011 00101110 00100000 01001111 01100
100 01101001 01100001 01100010 01100001 00100000 01110110 01101111 01101100 0110
0001 01110010 00101110 00100000 01001111 01100100 01101001 01100001 01100010 011
00001 00100000 01101100 01100001 01110011 00100000 01110100 01110101 01110010 01
100010 01110101 01101100 01100101 01101110 01100011 01101001 01100001 01110011 0
0101110 00100000 01001111 01100100 01101001 01100001 01100010 01100001 00100000
01101100 01100001 00100000 01110011 01100101 01101110 01110011 01100001 01100011
01101001 11110011 01101110 00100000 01100101 01101110 00100000 01100101 0110110
0 00100000 01100101 01110011 01110100 01101111 01101101 01100001 01100111 011011
11 00100000 01100101 01101110 00100000 01100101 01101100 00100000 01100100 01100
101 01110011 01110000 01100101 01100111 01110101 01100101 00100000 01111001 0010
0000 01100101 01101100 00100000 01100001 01110100 01100101 01110010 01110010 011
01001 01111010 01100001 01101010 01100101 00101110 00100000 01001100 01101111 01
110011 00100000 01101101 01101111 01110100 01101111 01110010 01100101 01110011 0
0100000 01110010 01110101 01100111 01101001 01100101 01110010 01101111 01101110
00100000 01111001 00100000 01100101 01101100 00100000 01100001 01110110 01101001
11110011 01101110 00100000 01100001 01100011 01100101 01101100 01100101 0111001
0 01101111 00101110 00100000 01000001 01100010 01110010 01101001 11110011 001000
00 01101100 01101111 01110011 00100000 01101111 01101010 01101111 01110011 00100
000 01110101 01101110 00100000 01110011 01100101 01100111 01110101 01101110 0110
0100 01101111 00100000 01111001 00100000 01110110 01101001 01101111 00100000 011
00001 00100000 01001011 01110101 01110101 00100000 01100100 01100001 01101110 01
100100 01101111 00100000 01110110 01110101 01100101 01101100 01110100 01100001 0
1110011 00100000 01100001 01101100 00100000 01100001 01101110 01101001 01101100
01101100 01101111 00100000 01100011 01101111 01101110 00100000 01101110 01100101
01110010 01110110 01101001 01101111 01110011 01101001 01110011 01101101 0110111
1 00101110 00100000 01010100 01100001 01101101 01110000 01101111 01100011 011011
11 00100000 01110000 01100001 01110010 01100101 01100011 11101101 01100001 00100
000 01100111 01110101 01110011 01110100 01100001 01110010 01101100 01100101 0010
0000 01110110 01101111 01101100 01100001 01110010 00101110 00001101 00001010 000
01101 00001010 01001100 01100001 01110011 00100000 01110010 01110101 01100101 01

100100 01100001 01110011 00100000 01100001 01100010 01100001 01101110 01100100 0


1101111 01101110 01100001 01110010 01101111 01101110 00100000 01100101 01101100
00100000 01110011 01110101 01100101 01101100 01101111 00100000 01111001 00100000
01100101 01101100 00100000 01100001 01110110 01101001 11110011 01101110 0010000
0 01110011 01100101 00100000 01100101 01110011 01110100 01110010 01100101 011011
01 01100101 01100011 01101001 11110011 00100000 01100011 01101111 01101110 00100
000 01110101 01101110 01100001 00100000 01110011 01100001 01100011 01110101 0110
0100 01101001 01100100 01100001 00101110 00100000 01000101 01101100 00100000 011
00011 01101111 01100100 01101111 00100000 01100100 01100101 00100000 01001011 01
110101 01110101 00100000 01110010 01100101 01110011 01100010 01100001 01101100 1
1110011 00100000 01100100 01100101 01101100 00100000 01110010 01100101 01110000
01101111 01110011 01100001 01100010 01110010 01100001 01111010 01101111 01110011
00100000 01111001 00100000 01100101 01101100 00100000 01100001 01101110 0110100
1 01101100 01101100 01101111 00100000 01110011 01100001 01101100 01101001 111100
11 00100000 01100100 01101001 01110011 01110000 01100001 01110010 01100001 01100
100 01101111 00100000 01111001 00100000 01110010 01101111 01100100 01101111 0010
0000 01110000 01101111 01110010 00100000 01100101 01101100 00100000 01110011 011
10101 01100101 01101100 01101111 00100000 01101000 01100001 01100011 01101001 01
100001 00100000 01101100 01100001 01110011 00100000 01100110 01101001 01101100 0
1100001 01110011 00100000 01100100 01100101 00100000 01100001 01110100 01110010
11100001 01110011 00101110 00001101 00001010 00001101 00001010 10010110 10100001
01001111 01101000 00100001 00101100 00100000 01100100 01101001 01100001 0110001
0 01101100 01101111 01110011 00100000 10010110 01110000 01110010 01101111 011101
00 01100101 01110011 01110100 01101111 00100000 01001011 01110101 01110101 00101
110 00001101 00001010 00001101 00001010 01000101 01110010 01100001 00100000 0110
0101 01101100 00100000 01110000 01100101 01101111 01110010 00100000 01101101 011
01111 01101101 01100101 01101110 01110100 01101111 00100000 01110000 01100001 01
110010 01100001 00100000 01110001 01110101 01100101 00100000 01101111 01100011 0
1110101 01110010 01110010 01101001 01100101 01110010 01100001 00100000 01100001
01101100 01100111 01101111 00100000 01100001 01110011 11101101 00101110 00100000
01001000 01101001 01101101 01100101 01101011 01101111 00100000 01101001 0110001
0 01100001 00100000 01100001 00100000 01110100 01110010 01100001 01101110 011100
01 01110101 01101001 01101100 01101001 01111010 01100001 01110010 01101100 01100
001 00100000 01100011 01110101 01100001 01101110 01100100 01101111 00100000 0111
0011 01100101 00100000 01101111 01111001 11110011 00100000 01110101 01101110 011
00001 00100000 01100101 01111000 01110000 01101100 01101111 01110011 01101001 11
110011 01101110 00101110 00100000 01000101 01101100 00100000 01100001 01110110 0
1101001 11110011 01101110 00100000 01110011 01100101 00100000 01101001 01101110
01100011 01101100 01101001 01101110 01101111 00100000 01101000 01100001 01100011
01101001 01100001 00100000 01100100 01100101 01101100 01100001 01101110 0111010
0 01100101 00101110 00100000 01001000 01101001 01101101 01100101 01101011 011011
11 00100000 01101101 01101001 01110010 11110011 00100000 01110000 01101111 01110
010 00100000 01101100 01100001 00100000 01110110 01100101 01101110 01110100 0110
0001 01101110 01101001 01101100 01101100 01100001 00101100 00100000 01100001 111
11010 01101110 00100000 01101110 01101111 00100000 01100101 01110011 01110100 01
100001 01100010 01100001 01101110 00100000 01100100 01100101 01101101 01100001 0
1110011 01101001 01100001 01100100 01101111 00100000 01101100 01100101 01101010
01101111 01110011 00100000 01100100 01100101 01101100 00100000 01110011 01110101
01100101 01101100 01101111 00101110 00001101 00001010 00001101 00001010 0100001
1 01100101 01110010 01110010 11110011 00100000 01101100 01101111 01110011 001000
00 01101111 01101010 01101111 01110011 00100000 01101001 01100111 01101110 01101
111 01110010 01100001 01101110 01100100 01101111 00100000 01101100 01101111 0111
0011 00100000 01100011 01110010 01110101 01101010 01101001 01100100 01101111 011
10011 00100000 01100100 01100101 01101100 00100000 01100001 01110110 01101001 11
110011 01101110 00100000 01111001 00100000 01101100 01101111 01110011 00100000 0
1100111 01110010 01101001 01110100 01101111 01110011 00100000 01100100 01100101
00100000 01101100 01101111 01110011 00100000 01110000 01100001 01110011 01100001
01101010 01100101 01110010 01101111 01110011 00101110 00100000 01000101 0110110
0 00100000 01110000 01101001 01101100 01101111 01110100 01101111 00100000 011000
01 01101110 01110101 01101110 01100011 01101001 01101111 00100000 01110101 01101

110 00100000 01100001 01110100 01100101 01110010 01110010 01101001 01111010 0110
0001 01101010 01100101 00100000 01100100 01100101 00100000 01100101 01101101 011
00101 01110010 01100111 01100101 01101110 01100011 01101001 01100001 00101110 00
100000 01001000 01101001 01101101 01100101 01101011 01101111 00100000 01100001 0
1110000 01101111 01111001 11110011 00100000 01101100 01100001 00100000 01100011
01100001 01100010 01100101 01111010 01100001 00100000 01100101 01101110 00100000
01101100 01100001 01110011 00100000 01110010 01101111 01100100 01101001 0110110
0 01101100 01100001 01110011 00100000 01111001 00100000 01110011 01100101 001000
00 01100001 01100010 01110010 01100001 01111010 11110011 00100000 01101100 01100
001 01110011 00100000 01110000 01101001 01100101 01110010 01101110 01100001 0111
0011 00101110 00100000 01010011 01101111 01101110 11110011 00100000 01110101 011
01110 00100000 01100101 01110011 01110100 01100001 01101100 01101100 01101001 01
100100 01101111 00101100 00100000 01101100 01100001 01110011 00100000 01101100 0
1110101 01100011 01100101 01110011 00100000 01110011 01100101 00100000 01100001
01110000 01100001 01100111 01100001 01110010 01101111 01101110 00100000 01111001
00100000 01100101 01101100 00100000 01100001 01110110 01101001 11110011 0110111
0 00100000 01100011 01100001 01111001 11110011 00100000 01100101 01101110 001000
00 01110000 01101001 01100011 01100001 01100100 01101111 00101110 00001101 00001
010 00001101 00001010 01010011 01101111 01101100 01101111 00100000 01110001 0111
0101 01100101 01100100 01100001 01100010 01100001 00100000 01110010 01100101 011
11010 01100001 01110010 00101110 00001101 00001010 01001110 01101111 00100000 01
110110 01101111 01101100 01110110 01100101 01110010 11101001 00100000 01100001 0
0100000 01110101 01110100 01101001 01101100 01101001 01111010 01100001 01110010
00100000 01100101 01110011 01110100 01100001 00100000 01100001 01100101 01110010
01101111 01101100 11101101 01101110 01100101 01100001 00101110 00100000 1011111
1 01010011 01100001 01100010 01100101 00100000 01100011 01110101 11100001 011011
10 01110100 01101111 00100000 01101000 01100101 00100000 01110000 01100001 01100
111 01100001 01100100 01101111 00100000 01110000 01101111 01110010 00100000 0110
0101 01101100 00100000 01100010 01101001 01101100 01101100 01100101 01110100 011
00101 00111111 00100000 10100001 01000101 01110011 01110100 01101111 00100000 01
100101 01110011 00100000 01110010 01101001 01100100 11101101 01100011 01110101 0
1101100 01101111 00100001 00001101 00001010 00001101 00001010 01000101 01101100
00100000 01100011 01101000 01101001 01110010 01110010 01101001 01100100 01101111
00100000 01100100 01100101 00100000 01110101 01101110 01100001 00100000 0111011
0 01101111 01111010 00100000 01100110 01100101 01101101 01100101 01101110 011010
01 01101110 01100001 00101100 00100000 01101000 01101001 01110010 01101001 11110
011 00100000 01101100 01101111 01110011 00100000 01101111 11101101 01100100 0110
1111 01110011 00100000 01100100 01100101 00100000 01001000 01101001 01101101 011
00101 01101011 01101111 00100000 01100101 01101110 00100000 01100011 01110101 01
100001 01101110 01110100 01101111 00100000 01110011 01110101 01100010 01101001 1
1110011 00100000 01100001 01101100 00100000 01100001 01110110 01101001 11110011
01101110 00101110 00100000 01001100 01100001 00100000 01101101 01110101 01101010
01100101 01110010 00100000 01110011 01101111 01101110 01100001 01100010 0110000
1 00100000 01100011 01101111 01101101 01101111 00100000 01100101 01101100 011011
00 01100001 00100000 01110011 01100101 00100000 01110011 01100101 01101110 01110
100 11101101 01100001 00101100 00100000 01110011 01101111 01101100 01101111 0010
0000 01110001 01110101 01100101 00100000 01001000 01101001 01101101 01100101 011
01011 01101111 00100000 01100101 01110011 01110100 01100001 01100010 01100001 00
100000 01100110 01110101 01110010 01101001 01101111 01110011 01100001 00100000 0
1100011 01101111 01101110 01110011 01101001 01100111 01101111 00100000 01101101
01101001 01110011 01101101 01100001 00101100 00100000 01101110 01101111 00100000
01100011 01101111 01101110 00100000 01110101 01101110 01100001 00100000 0110000
1 01111010 01100001 01100110 01100001 01110100 01100001 00100000 01101001 011011
10 01100100 01100101 01100110 01100101 01101110 01110011 01100001 00101110 00100
000 01010110 01101111 01101100 01110110 11101101 01100001 00100000 01100001 0010
0000 01100011 01100001 01110011 01100001 00100000 01110100 01110010 01100001 011
10011 00100000 01101000 01100001 01100010 01100101 01110010 00100000 01100110 01
110010 01100001 01100011 01100001 01110011 01100001 01100100 01101111 00101100 0
0100000 01110000 01100101 01110010 01101111 00100000 01101110 01101111 00100000
01110000 01101111 01100100 11101101 01100001 00100000 01100011 01110101 01101100

01110000 01100001 01110010 00100000 01100001 00100000 01101110 01100001 0110010


0 01101001 01100101 00101100 00100000 01101101 11100001 01110011 00100000 011100
01 01110101 01100101 00100000 01100001 00100000 01100101 01101100 01101100 01100
001 00101110 00001101 00001010 00001101 00001010 01010011 01110101 00100000 0111
0100 11101101 01100001 00100000 01101100 01100101 00100000 01101000 01100001 011
00010 11101101 01100001 00100000 01100100 01101001 01100011 01101000 01101111 00
100000 01110001 01110101 01100101 00100000 01110101 01110100 01101001 01101100 0
1101001 01111010 01100001 01110010 00100000 01100101 01101100 00100000 01100100
01101001 01101110 01100101 01110010 01101111 00100000 01100100 01100101 01101100
00100000 01110011 01100101 01100111 01110101 01110010 01101111 00100000 0110010
0 01100101 00100000 01110110 01101001 01100100 01100001 00100000 01100100 011001
01 00100000 01110011 01110101 00100000 01110000 01100001 01100100 01110010 01100
101 00100000 01110000 01100001 01110010 01100001 00100000 01101101 01101111 0110
1110 01110100 01100001 01110010 00100000 01110101 01101110 01100001 00100000 011
00101 01101101 01110000 01110010 01100101 01110011 01100001 00100000 01100100 01
100101 00100000 01100100 01101001 01110011 01100101 11110001 01101111 00100000 0
1100100 01100101 00100000 01101101 01101111 01100100 01100001 00100000 01100101
01101110 00100000 01010100 01101111 01101011 01101001 01101111 00100000 01100101
01110010 01100001 00100000 01100001 01110010 01110010 01101001 01100101 0111001
1 01100111 01100001 01100100 01101111 00100000 01111001 00100000 01100101 011100
11 01110100 11111010 01110000 01101001 01100100 01101111 00101110 00100000 01011
001 00100000 01110001 01110101 01100101 00100000 01110101 01101110 00100000 0110
0001 11110001 01101111 00100000 01100100 01100101 01110011 01110000 01110101 111
01001 01110011 00100000 01100101 01110011 01110100 01100001 01110010 11101101 01
100001 00100000 01100100 01100101 00100000 01110110 01110101 01100101 01101100 0
1110100 01100001 00100000 01100101 01101110 00100000 01000001 01101011 01101001
01110100 01100001 00101100 00100000 01100001 01110010 01110010 01110101 01101001
01101110 01100001 01100100 01100001 00101110 00001101 00001010 00001101 0000101
0 01000001 01101100 00100000 01101101 01100101 01101110 01101111 01110011 001011
00 00100000 01110011 01110101 00100000 01110100 11101101 01100001 00100000 01101
110 01101111 00100000 01101000 01100001 01100010 11101101 01100001 00100000 0110
0001 01100011 01100101 01110010 01110100 01100001 01100100 01101111 00100000 011
00101 01101110 00100000 01110100 01101111 01100100 01101111 00101110 00100000 01
001000 01100001 01100010 11101101 01100001 01101110 00100000 01110000 01100001 0
1110011 01100001 01100100 01101111 00100000 01100011 01100001 01110011 01101001
00100000 01110100 01110010 01100101 01110011 00100000 01100001 11110001 01101111
01110011 00101110 00100000 01001000 01101001 01101101 01100101 01101011 0110111
1 00100000 01101000 01100001 01100010 11101101 01100001 00100000 01110100 011001
01 01101110 01101001 01100100 01101111 00100000 01110101 01101110 00100000 11101
001 01111000 01101001 01110100 01101111 00100000 01101101 01101111 01100100 0110
0101 01110010 01100001 01100100 01101111 00100000 01111001 00100000 01100001 011
01100 01100111 01110101 01101110 01101111 01110011 00100000 01100011 01101100 01
101001 01100101 01101110 01110100 01100101 01110011 00100000 01100110 01101001 0
1101010 01101111 01110011 00101100 00100000 01110000 01100101 01110010 01101111
00100000 01100101 01101100 00100000 01100011 01101111 01110011 01110100 01100101
00100000 01100100 01100101 00100000 01101101 01100001 01101110 01110100 0110010
1 01101110 01100101 01110010 01110011 01100101 00100000 01100001 00100000 011001
10 01101100 01101111 01110100 01100101 00100000 01100101 01101110 00100000 01101
100 01100001 00100000 01100011 01101001 01110101 01100100 01100001 01100100 0010
0000 01100100 01100101 00100000 01010100 01101111 01101011 01101001 01101111 001
00000 01100101 01110010 01100001 00100000 01101101 11100001 01110011 00100000 01
100100 01100101 00100000 01101100 01101111 00100000 01110001 01110101 01100101 0
0100000 01110000 01101111 01100100 11101101 01100001 00100000 01110000 01100101
01110010 01101101 01101001 01110100 01101001 01110010 01110011 01100101 00100000
01110011 01101001 01101110 00100000 01110101 01101110 00100000 01100111 0111001
0 01100001 01101110 00100000 11101001 01111000 01101001 01110100 01101111 001011
00 00100000 01110001 01110101 01100101 00100000 01101110 01101111 00100000 01101
000 01100001 01100010 11101101 01100001 00100000 01101100 01101100 01100101 0110
0111 01100001 01100100 01101111 00101110 00001101 00001010 00001101 00001010 010
01000 01101001 01101101 01100101 01101011 01101111 00100000 01101101 01101001 01

110010 01101111 00100000 01110011 01110101 00100000 01110100 01100001 01110010 0


1101010 01100101 01110100 01100001 00100000 01100100 01100101 00100000 01100101
01101101 01100010 01100001 01110010 01110001 01110101 01100101 00100000 01111001
00100000 01100110 01110101 01100101 00100000 01100001 01110110 01100001 0110111
0 01111010 01100001 01101110 01100100 01101111 00100000 01101000 01100001 011000
11 01101001 01100001 00100000 01100101 01101100 00100000 01100001 01110011 01101
001 01100101 01101110 01110100 01101111 00100000 00110001 00110100 01000010 0010
1110 00100000 01000001 01101100 00100000 01101100 01101100 01100101 01100111 011
00001 01110010 00101100 00100000 01110011 01100101 00100000 01100100 01101001 01
101111 00100000 01100011 01110101 01100101 01101110 01110100 01100001 00100000 0
1100100 01100101 00100000 01110001 01110101 01100101 00100000 01101100 01100001
00100000 01101101 01110101 01101010 01100101 01110010 00100000 01100100 01100101
00100000 01110110 01101111 01111010 00100000 01100011 01101000 01101001 0110110
0 01101100 01101111 01101110 01100001 00100000 01101001 01100010 01100001 001000
00 01100001 00100000 01110011 01100101 01110010 00100000 01110011 01110101 00100
000 01100011 01101111 01101101 01110000 01100001 11110001 01100101 01110010 0110
0001 00100000 01100100 01100101 00100000 01110110 01110101 01100101 01101100 011
01111 00101110 00100000 01000001 01110101 01101110 01110001 01110101 01100101 00
100000 01101101 11100001 01110011 00100000 01100011 01100001 01101100 01101101 0
1100001 01100100 01100001 00101100 00100000 01101110 01101111 00100000 01110000
01100001 01110010 01100101 01100011 11101101 01100001 00100000 01100110 01100101
01101100 01101001 01111010 00101110 00100000 01001000 01101001 01101101 0110010
1 01101011 01101111 00100000 01100001 01100111 01100001 01110010 01110010 011011
11 00100000 01110011 01110101 00100000 01101100 01101001 01100010 01110010 01101
111 00101100 00100000 01100011 01101111 01101100 01101111 01100011 01101111 0010
0000 01110011 01110101 00100000 01100010 01101111 01101100 01110011 01100001 001
00000 01100101 01101110 00100000 01100101 01101100 00100000 01100011 01101111 01
101101 01110000 01100001 01110010 01110100 01101001 01101101 01100101 01101110 0
1110100 01101111 00100000 01110011 01110101 01110000 01100101 01110010 01101001
01101111 01110010 00100000 01111001 00100000 01101111 01100011 01110101 01110000
01101111 00100000 01110011 01110101 00100000 01100001 01110011 01101001 0110010
1 01101110 01110100 01101111 00101100 00100000 01100101 01110110 01101001 011101
00 01100001 01101110 01100100 01101111 00100000 01100101 01101100 00100000 01100
011 01101111 01101110 01110100 01100001 01100011 01110100 01101111 00100000 0110
1111 01100011 01110101 01101100 01100001 01110010 00101110 00001101 00001010 000
01101 00001010 10010110 01001110 01101111 00100000 01110000 01110101 01100101 01
100100 01101111 00100000 01100011 01110010 01100101 01100101 01110010 00100000 0
1110001 01110101 01100101 00101100 00100000 01110000 01101111 01110010 00100000
01110101 01101110 00100000 01100111 01110010 01110101 01110000 01101111 00100000
01100100 01100101 00100000 01101000 01101111 01101101 01100010 01110010 0110010
1 01110011 00100000 01100100 01100101 00100000 01101110 01100101 01100111 011011
11 01100011 01101001 01101111 01110011 00100000 01101010 01100001 01110000 01101
111 01101110 01100101 01110011 01100101 01110011 00101100 00100000 01101101 0110
0101 00100000 01101000 01100001 01111001 01100001 01101110 00100000 01110011 011
00001 01100011 01100001 01100100 01101111 00100000 01100100 01100101 00100000 01
110000 01110010 01101001 01101101 01100101 01110010 01100001 00100000 01100011 0
1101100 01100001 01110011 01100101 00100000 01111001 00100000 01100001 01100100
01101010 01110101 01100100 01101001 01100011 01100001 01100100 01101111 00100000
01110101 01101110 00100000 01100001 01110011 01101001 01100101 01101110 0111010
0 01101111 00100000 01100100 01100101 00100000 01110110 01100101 01101110 011101
00 01100001 01101110 01101001 01101100 01101100 01100001 00101110 00100000 01000
001 01110000 01100101 01101110 01100001 01110011 00100000 01110000 01110101 0110
0101 01100100 01101111 00100000 01101101 01101111 01110110 01100101 01110010 001
00000 01101100 01101111 01110011 00100000 01100010 01110010 01100001 01111010 01
101111 01110011 00101110 00001101 00001010 00001101 00001010 10010110 10111111 0
1001100 01100101 00100000 01100111 01110101 01110011 01110100 01100001 01110010
11101101 01100001 00100000 01100011 01100001 01101101 01100010 01101001 01100001
01110010 00100000 01100100 01100101 00100000 01100001 01110011 01101001 0110010
1 01101110 01110100 01101111 00111111 00100000 10010110 01101111 01100110 011100
10 01100101 01100011 01101001 11110011 00100000 01001000 01101001 01101101 01100

101 01101011 01101111 00101110 00001101 00001010 00001101 00001010 10010110 0100
0101 01110011 01101111 00100000 01110011 01100101 01110010 11101101 01100001 001
00000 01101101 01100001 01110010 01100001 01110110 01101001 01101100 01101100 01
101111 01110011 01101111 00101100 00100000 01100111 01110010 01100001 01100011 0
1101001 01100001 01110011 00101110 00001101 00001010 00001101 00001010 01001100
01100001 00100000 01100101 01111000 01110000 01110010 01100101 01110011 01101001
11110011 01101110 00100000 01100100 01100101 00100000 01101100 01100001 0010000
0 01101101 01110101 01101010 01100101 01110010 00100000 01110011 01100101 001000
00 01110011 01110101 01100001 01110110 01101001 01111010 11110011 00101110 00100
000 01000101 01110010 01100001 00100000 01101101 01110101 01111001 00100000 0110
0111 01110101 01100001 01110000 01100001 00101110 00100000 01010100 01100101 011
01110 11101101 01100001 00100000 01110101 01101110 01100001 00100000 01110011 01
101111 01101110 01110010 01101001 01110011 01100001 00100000 01100001 01101101 0
1110000 01101100 01101001 01100001 00101100 00100000 01100011 01101111 01101110
00100000 01110000 01100101 01110010 01100110 01100101 01100011 01110100 01101111
01110011 00100000 01100010 01101100 01100001 01101110 01100011 01101111 0111001
1 00100000 01111001 00100000 01101100 01100001 01100010 01101001 01101111 011100
11 00100000 01100011 01100001 01110010 01101110 01101111 01110011 01101111 01110
011 00111011 00100000 01100101 01101100 00100000 01110000 01100101 01101100 0110
1111 00100000 01110010 01110101 01100010 01101001 01101111 00100000 01101111 011
10011 01100011 01110101 01110010 01101111 00101100 00100000 01101100 01100001 01
110010 01100111 01101111 00100000 01111001 00100000 01101100 01101001 01110011 0
1101111 00111011 00100000 01111001 00100000 01101111 01101010 01101111 01110011
00100000 01100001 01111010 01110101 01101100 01100101 01110011 00100000 01100011
01101111 01101101 01101111 00100000 01100101 01101100 00100000 01100011 0110100
1 01100101 01101100 01101111 00101110 00100000 01000001 00100000 01001000 011010
01 01101101 01100101 01101011 01101111 00100000 01101100 01100101 00100000 01110
010 01100101 01100011 01101111 01110010 01100100 11110011 00100000 01100001 0010
0000 01110011 01110101 00100000 01101101 01100001 01100100 01110010 01100101 001
11011 00100000 01100100 01100101 00100000 01101000 01100101 01100011 01101000 01
101111 00100000 01110000 01101111 01100100 01110010 11101101 01100001 00100000 0
1101000 01100001 01100010 01100101 01110010 00100000 01110011 01101001 01100100
01101111 00100000 01110011 01110101 00100000 01100001 01110100 01110010 01100001
01100011 01110100 01101001 01110110 01100001 00100000 01111001 00100000 0110010
1 01101100 01100101 01100111 01100001 01101110 01110100 01100101 00100000 011010
00 01100101 01110010 01101101 01100001 01101110 01100001 00100000 01101101 01100
001 01111001 01101111 01110010 00101110 00100000 01001100 01101100 01100101 0111
0110 01100001 01100010 01100001 00100000 01110101 01101110 00100000 01110100 011
10010 01100001 01101010 01100101 00100000 01100011 01100001 01110010 01101111 00
101100 00100000 01100100 01100101 00100000 01100011 01101111 01110010 01110100 0
1100101 00100000 01101001 01101101 01110000 01100101 01100011 01100001 01100010
01101100 01100101 00101100 00100000 01111001 00100000 01100011 01100001 01101100
01111010 01100001 01100010 01100001 00100000 01101100 01101111 01110011 0010000
0 01000001 01110011 01101001 01100011 01110011 00100000 01100100 01100101 001000
00 01101101 11100001 01110011 00100000 11101001 01111000 01101001 01110100 01101
111 00100000 01100100 01100101 00100000 01101100 01100001 00100000 01110100 0110
0101 01101101 01110000 01101111 01110010 01100001 01100100 01100001 00101110 000
01101 00001010 00001101 00001010 01000101 01110011 01100001 00100000 01101101 01
110101 01101010 01100101 01110010 00100000 01110100 01100101 01101110 01100100 0
1110010 11101101 01100001 00100000 01110001 01110101 01100101 00100000 01101000
01100001 01100010 01100101 01110010 00100000 01110011 01101001 01100100 01101111
00100000 01101100 01100001 00100000 01101000 01101001 01101010 01100001 0010000
0 11111010 01101110 01101001 01100011 01100001 00100000 01100100 01100101 001000
00 01101100 01100001 00100000 01100010 01100101 01101100 01101100 01100001 00100
000 01111001 00100000 01100110 01100001 01100010 01110101 01101100 01101111 0111
0011 01100001 00100000 01001101 01101001 01100100 01101111 01110010 01101001 001
00000 01001011 01110101 01110010 01110101 01110011 01110101 01100111 01100001 01
110111 01100001 00101110 00100000 01001000 01101001 01101101 01100101 01101011 0
1101111 00100000 01101000 01100001 01100010 11101101 01100001 00100000 01101000
01100101 01110010 01100101 01100100 01100001 01100100 01101111 00100000 01100101

01101100 00100000 01100111 01110101 01110011 01110100 01101111 00100000 0110010


0 01100101 00100000 01110011 01110101 00100000 01101101 01100001 01100100 011100
10 01100101 00100000 01110000 01101111 01110010 00100000 01101100 01100001 00100
000 01101101 01101111 01100100 01100001 00100000 01111001 00100000 01110011 0111
0101 00100000 01100100 01100101 01110011 01110100 01110010 01100101 01111010 011
00001 00100000 01100101 01101110 00100000 01101100 01100001 00100000 01101101 11
100001 01110001 01110101 01101001 01101110 01100001 00100000 01100100 01100101 0
0100000 01100011 01101111 01110011 01100101 01110010 00101100 00100000 01110000
01100101 01110010 01101111 00100000 01110100 01100101 01101110 11101101 01100001
00100000 01100101 01101100 00100000 01110000 01100101 01101100 01101111 0010000
0 01101101 01100001 01101100 01110100 01110010 01100001 01110100 01100001 011001
00 01101111 00100000 01100101 00100000 01101001 01101110 01100100 01101111 01101
101 01100001 01100010 01101100 01100101 00100000 01100100 01100101 00100000 0111
0011 01110101 00100000 01110000 01100001 01100100 01110010 01100101 00100000 011
11001 00100000 01110101 01110011 01100001 01100010 01100001 00100000 01100110 01
110010 01100101 01101110 01101001 01101100 01101100 01101111 01110011 00101100 0
0100000 01110010 01100101 01110011 01110101 01101100 01110100 01100001 01100100
01101111 00100000 01100100 01100101 00100000 01100001 11110001 01101111 01110011
00100000 01100100 01100101 00100000 01100100 01101111 01101100 01101111 0111001
0 01101111 01110011 01100001 00100000 01101111 01110010 01110100 01101111 011001
00 01101111 01101110 01100011 01101001 01100001 00101110 00001101 00001010 00001
101 00001010 01010011 01100101 00100000 01110000 01110101 01110011 01101111 0010
0000 01100100 01100101 00100000 01110000 01101001 01100101 00100000 01110000 011
00001 01110010 01100001 00100000 01100011 01100001 01101101 01100010 01101001 01
100001 01110010 00100000 01100100 01100101 00100000 01100001 01110011 01101001 0
1100101 01101110 01110100 01101111 00101110 00100000 01001110 01101111 00100000
01101100 01100101 00100000 01101001 01101101 01110000 01101111 01110010 01110100
01100001 01100010 01100001 00100000 01101001 01110010 00100000 01100101 0110111
0 00100000 01101100 01100001 00100000 01110110 01100101 01101110 01110100 011000
01 01101110 01101001 01101100 01101100 01100001 00101100 00100000 01111001 00100
000 01100001 01110011 11101101 00100000 01110110 01100101 01110010 11101101 0110
0001 00100000 01100011 01101111 01101101 01101111 00100000 01010100 01101111 011
01011 01101001 01101111 00100000 01110001 01110101 01100101 01100100 01100001 01
100010 01100001 00100000 01100001 01110100 01110010 11100001 01110011 00101100 0
0100000 01101010 01110101 01101110 01110100 01101111 00100000 01100011 01101111
01101110 00100000 01110011 01110101 01110011 00100000 01110011 01110101 01100101
11110001 01101111 01110011 00101110 00001101 00001010 00001101 00001010 1001011
0 01001101 01100101 00100000 01101100 01101100 01100001 01101101 01101111 001000
00 01010011 01101000 01101001 01110010 01100001 01110100 01101111 01110010 01101
001 00100000 01001011 01110101 01110101 00100000 10010110 01100100 01101001 0110
1010 01101111 00100000 01101100 01100001 00100000 01101101 01110101 01101010 011
00101 01110010 00101110 00001101 00001010 00001101 00001010 01001000 01101001 01
101101 01100101 01101011 01101111 00100000 01101101 01100101 01110100 01101001 1
1110011 00100000 01100101 01101100 00100000 01101100 01101001 01100010 01110010
01101111 00100000 01100101 01101110 00100000 01100101 01101100 00100000 01100010
01101111 01101100 01110011 01101001 01101100 01101100 01101111 00100000 0110010
0 01100101 01101100 00100000 01100001 01110011 01101001 01100101 01101110 011101
00 01101111 00100000 01100100 01100101 00100000 01100100 01100101 01101100 01100
001 01101110 01110100 01100101 00100000 01111001 00100000 01101100 01100101 0010
0000 01110011 01101111 01101110 01110010 01101001 11110011 00101100 00100000 011
00101 01110011 01110000 01100101 01110010 01100001 01101110 01100100 01101111 00
100000 01110001 01110101 01100101 00100000 01101100 01100001 00100000 01101111 0
1110100 01110010 01100001 00100000 01101101 01110101 01101010 01100101 01110010
00100000 01101110 01101111 00100000 01110011 01100101 00100000 01100110 01101001
01101010 01100001 01110010 01100001 00100000 01100101 01101110 00100000 0111001
1 01110101 01110011 00100000 01100110 01110010 01100101 01101110 01101001 011011
00 01101100 01101111 01110011 00101110 00001101 00001010 00001101 00001010 10010
110 01001011 01110101 01110010 01110101 01110011 01110101 01100111 01100001 0111
0111 01100001 00100000 01001000 01101001 01101101 01100101 01101011 01101111 001
00000 10010110 01010011 01100101 00100000 01110000 01110010 01100101 01110011 01

100101 01101110 01110100 11110011 00101110 00001101 00001010 00001101 00001010 1


0010110 01000101 01110011 00100000 01110101 01101110 00100000 01101110 01101111
01101101 01100010 01110010 01100101 00100000 01100111 01100101 01101110 01101001
01100001 01101100 00101110 00100000 01010001 01110101 01100101 01100100 0110000
1 01110010 11101101 01100001 00100000 01100110 01100001 01101110 01110100 111000
01 01110011 01110100 01101001 01100011 01101111 00100000 01100101 01101110 00100
000 01110101 01101110 00100000 01100011 01100001 01110010 01110100 01100101 0110
1100 00100000 01100100 01100101 00100000 01100011 01101001 01101110 01100101 001
00000 01100101 01101110 00100000 01001011 01101001 01101111 01110100 01101111 00
101110 00001101 00001010 00001101 00001010 10010110 01001110 01101111 00100000 0
1101110 01100001 01100011 11101101 00100000 01110000 01100001 01110010 01100001
00100000 01101100 01100001 00100000 01100110 01100001 01101101 01100001 00101100
00100000 01110000 01100101 01110010 01101111 00100000 01100111 01110010 0110000
1 01100011 01101001 01100001 01110011 00100000 10010110 01001000 01101001 011011
01 01100101 01101011 01101111 00100000 01101000 01100001 01100010 01110010 11101
101 01100001 00100000 01110001 01110101 01100101 01110010 01101001 01100100 0110
1111 00100000 01110110 01100101 01110010 01101100 01101111 00100000 01100101 011
01110 00100000 01101100 01100001 00100000 01100101 01110100 01101001 01110001 01
110101 01100101 01110100 01100001 00100000 01100100 01100101 00100000 01110101 0
1101110 01100001 00100000 01100011 01101111 01101100 01100101 01100011 01100011
01101001 11110011 01101110 00100000 01100100 01100101 00100000 01110000 01110010
01100101 01101110 01100100 01100001 01110011 00100000 01100100 01100101 0010000
0 01100100 01101001 01110011 01100101 11110001 01101111 00100000 01100101 011110
00 01100011 01101100 01110101 01110011 01101001 01110110 01101111 00101110 00001
101 00001010 00001101 00001010 01001011 01110101 01110101 00100000 01101010 0111
0101 01100111 01110101 01100101 01110100 01100101 11110011 00100000 01100011 011
01111 01101110 00100000 01100101 01101100 00100000 01100001 01101110 01101001 01
101100 01101100 01101111 00100000 01100100 01100101 00100000 01100011 01101111 0
1101101 01110000 01110010 01101111 01101101 01101001 01110011 01101111 00100000
01110001 01110101 01100101 00100000 01101100 01101100 01100101 01110110 01100001
01100010 01100001 00100000 01110000 01110101 01100101 01110011 01110100 0110111
1 00101100 00100000 01110001 01110101 01100101 00100000 01101100 01100101 001000
00 01100010 01100001 01101001 01101100 01100001 01100010 01100001 00100000 01100
101 01101110 00100000 01100101 01101100 00100000 01100100 01100101 01100100 0110
1111 00101110 00100000 01000101 01101100 00100000 01100100 01101001 01100001 011
01101 01100001 01101110 01110100 01100101 00100000 01111001 00100000 01101100 01
100001 00100000 01101101 01101111 01101110 01110100 01110101 01110010 01100001 0
0100000 01100101 01110010 01100001 01101110 00100000 01110100 01100001 01101110
00100000 01100111 01110010 01100001 01101110 01100100 01100101 01110011 00100000
01110001 01110101 01100101 00100000 01110010 01100101 01110011 01110101 0110110
0 01110100 01100001 01100010 01100001 00100000 01100001 01100010 01110010 011101
01 01101101 01100001 01100100 01101111 01110010 00100000 01100101 01101110 00100
000 01100101 01110011 01101111 01110011 00100000 01100100 01100101 01100100 0110
1111 01110011 00100000 01110100 01100001 01101110 00100000 01100100 01100101 011
01100 01100111 01100001 01100100 01101111 01110011 00101110 00001101 00001010 00
001101 00001010 10010110 10111111 01010110 01100001 01110011 00100000 01100001 0
0100000 01100011 01100001 01110011 01100001 01110010 01110100 01100101 00100000
01110000 01110010 01101111 01101110 01110100 01101111 00111111 00001101 00001010
00001101 00001010 10010110 01010011 11101101 00100000 10010110 01110011 0111010
1 01110011 01110000 01101001 01110010 11110011 00100000 01001011 01110101 011101
01 00101110 00100000 01010011 01110101 00100000 01110010 01101111 01110011 01110
100 01110010 01101111 00100000 01101110 01101111 00100000 01110011 01100101 0010
0000 01101001 01101100 01110101 01101101 01101001 01101110 11110011 00100000 011
00011 01101111 01101101 01101111 00100000 01101000 01100001 01100010 01110010 11
101101 01100001 00100000 01100100 01100101 01100010 01101001 01100100 01101111 0
0101110 00100000 01010011 01100101 00100000 01101001 01101110 01100011 01101100
01101001 01101110 01101111 00100000 01101000 01100001 01100011 01101001 01100001
00100000 01100101 01101100 01101100 01100001 00100000 01100011 01101111 0110110
1 01101111 00100000 01110011 01101001 00100000 01100110 01110101 01100101 011100
10 01100001 00100000 01100001 00100000 01100011 01101111 01101110 01110100 01100

001 01110010 01101100 01100101 00100000 01110101 01101110 00100000 01100011 0110
1111 01110100 01101001 01101100 01101100 01100101 01101111 00100000 10010110 001
01110 00100000 01001101 01100101 00100000 01100011 01100001 01110011 01101111 00
100000 01100011 01101111 01101110 00100000 01001000 01101001 01101101 01100101 0
1101101 01101001 01111001 01100001 00100000 01000011 01101000 01101001 01101011
01100001 01101110 01100101 00100000 01100101 01101110 00100000 01100101 01101100
00100000 01001101 01100001 01101110 01100100 01100001 01110010 11101101 0110111
0 00100000 01001111 01110010 01101001 01100101 01101110 01110100 01100001 011011
00 00101100 00100000 01100101 01101110 00100000 01101101 01100001 01111001 01101
111 00101110 00100000 01010000 01110010 01101111 01110000 01101001 01100101 0111
0100 01100001 01110010 01101001 01100001 00100000 01100100 01100101 01101100 001
00000 01010100 01101111 01101011 01101001 01101111 00100000 01010011 01101000 01
101001 01101101 01100010 01110101 01101110 00101110 00001101 00001010 00001101 0
0001010 01000011 01101111 01101110 00100000 01100101 01110011 01101111 00100000
01110001 01110101 01100101 01100100 01100001 01100010 01100001 00100000 01100100
01101001 01100011 01101000 01101111 00100000 01110100 01101111 01100100 0110111
1 00101110 00100000 01010011 01100101 01100111 01110101 01110010 01100001 011011
01 01100101 01101110 01110100 01100101 00100000 01100111 01100001 01110011 01110
100 01100001 01110010 11101101 01100001 00100000 01101101 11100001 01110011 0010
0000 01100101 01101110 00100000 01110011 01110101 00100000 01110110 01100101 011
10011 01110100 01101001 01100100 01101111 00100000 01100100 01100101 00100000 01
100010 01101111 01100100 01100001 00100000 01110001 01110101 01100101 00100000 0
1101100 01101111 00100000 01110001 01110101 01100101 00100000 01001000 01101001
01101101 01100101 01101011 01101111 00100000 01101000 01100001 01100010 11101101
01100001 00100000 01101000 01100101 01110010 01100101 01100100 01100001 0110010
0 01101111 00100000 01100011 01110101 01100001 01101110 01100100 01101111 001000
00 01100110 01100001 01101100 01101100 01100101 01100011 01101001 11110011 00100
000 01110011 01110101 00100000 01110000 01100001 01100100 01110010 01100101 0010
1110 00001101 00001010 00001101 00001010 10010110 10111111 01010001 01110101 011
01001 11101001 01101110 00100000 01100100 01101001 01110011 01100101 11110001 01
100001 01110010 01100001 00100000 01110100 01110101 00100000 01110110 01100101 0
1110011 01110100 01101001 01100100 01101111 00111111 00100000 10010110 01101100
01100101 00100000 01110000 01110010 01100101 01100111 01110101 01101110 01110100
11110011 00101110 00001101 00001010 00001101 00001010 10010110 01011001 0111010
1 01101101 01101001 00100000 01001011 01100001 01110100 01110011 01110101 011100
10 01100001 00101110 00001101 00001010 00001101 00001010 10010110 01001101 01100
101 00100000 01100101 01101110 01100011 01100001 01101110 01110100 01100001 0010
1110 00100000 01001000 01101001 01100011 01100101 00100000 01110000 01110010 111
00001 01100011 01110100 01101001 01100011 01100001 01110011 00100000 01100011 01
101111 01101110 00100000 01100101 01101100 01101100 01100001 00100000 01110101 0
1101110 00100000 01110110 01100101 01110010 01100001 01101110 01101111 00101100
00100000 01100101 01101110 00100000 01101100 01100001 00100000 01100110 01100001
01100011 01110101 01101100 01110100 01100001 01100100 00101100 00100000 0111000
0 01100101 01110010 01101111 00100000 01110000 01110010 01100101 01100110 011010
01 01100101 01110010 01101111 00100000 01101100 01100001 00100000 01110010 01101
111 01110000 01100001 00100000 01100100 01100101 00100000 01100100 01101001 0110
0001 01110010 01101001 01101111 00100000 01110000 01100001 01110010 01100001 001
00000 01101101 01110101 01101010 01100101 01110010 00100000 01101101 01101111 01
100100 01100101 01110010 01101110 01100001 00100000 01111001 00100000 01110100 0
1110010 01100001 01100010 01100001 01101010 01100001 01100100 01101111 01110010
01100001 00101110 00100000 01010010 01101111 01110000 01100001 00100000 01100100
01100101 01110000 01101111 01110010 01110100 01101001 01110110 01100001 0010111
0 00100000 01010000 01110010 01100101 01101110 01100100 01100001 01110011 001000
00 01110011 01110101 01100101 01101100 01110100 01100001 01110011 00100000 01110
000 01100001 01110010 01100001 00100000 01100011 01101111 01101111 01110010 0110
0100 01101001 01101110 01100001 01110010 00101110 00001101 00001010 00001101 000
01010 10010110 10111111 01010100 01100101 00100000 01100100 01100101 01100100 01
101001 01100011 01100001 01110011 00100000 01100001 00100000 01101100 01100001 0
0100000 01101001 01101110 01100100 01110101 01110011 01110100 01110010 01101001
01100001 00100000 01100100 01100101 00100000 01101100 01100001 00100000 01101101

01101111 01100100 01100001 00111111 00001101 00001010 00001101 00001010 1001011


0 01001101 01100101 00100000 01100100 01100101 01100100 01101001 01100011 011000
01 01100010 01100001 00100000 10010110 01001000 01101001 01101101 01100101 01101
011 01101111 00100000 01110100 01101111 01110010 01100011 01101001 11110011 0010
0000 01100101 01101100 00100000 01100111 01100101 01110011 01110100 01101111 001
00000 10010110 00101110 00100000 01010100 01100101 01101110 11101101 01100001 00
100000 01110101 01101110 01100001 00100000 01100010 01101111 01110101 01110100 0
1101001 01110001 01110101 01100101 00100000 01100101 01101110 00100000 01000111
01101001 01101110 01111010 01100001 00101100 00100000 01110001 01110101 01100101
00100000 01100001 01100011 01100001 01100010 01101111 00100000 01100100 0110010
1 00100000 01100011 01100101 01110010 01110010 01100001 01110010 00101110 000011
01 00001010 00001101 00001010 10010110 10111111 01000100 11110011 01101110 01100
100 01100101 00100000 01110000 01101111 01100100 01110010 11101101 01100001 0010
0000 01101000 01100001 01100010 01100101 01110010 00100000 01110110 01101001 011
10011 01110100 01101111 00100000 01110100 01110101 00100000 01110100 01110010 01
100001 01100010 01100001 01101010 01101111 00111111 00001101 00001010 00001101 0
0001010 10010110 01001101 01100101 00100000 01110100 01100101 01101101 01101111
00100000 01110001 01110101 01100101 00100000 01100101 01110011 01110100 01100001
00100000 01100101 01110011 00100000 01110100 11111010 00100000 11111010 0110110
0 01110100 01101001 01101101 01100001 00100000 01101111 01110000 01101111 011100
10 01110100 01110101 01101110 01101001 01100100 01100001 01100100 00100000 01100
100 01100101 00100000 01110110 01100101 01110010 00100000 01110101 01101110 0010
0000 01001011 01110101 01110010 01110101 01110011 01110101 01100111 01100001 011
10111 01100001 00100000 01001000 01101001 01101101 01100101 01101011 01101111 00
100000 10010110 01110011 01100101 11110001 01100001 01101100 11110011 00100000 0
1101100 01100001 00100000 01100010 01101100 01110101 01110011 01100001 00100000
01100111 01110010 01101001 01110011 00100000 01111001 00100000 01110010 01101111
01110011 01100001 00100000 01110001 01110101 01100101 00100000 01101100 0110110
0 01100101 01110110 01100001 01100010 01100001 00100000 01110000 01110101 011001
01 01110011 01110100 01100001 00101110 00100000 01000101 01101100 00100000 01101
001 01101110 01110101 01110011 01110101 01100001 01101100 00100000 01100011 0111
0101 01100101 01101100 01101100 01101111 00100000 01111001 00100000 01100101 011
01100 00100000 01110000 01100101 01110011 01110000 01110101 01101110 01110100 01
100101 01100001 01100100 01101111 00100000 01101100 01100101 00100000 01100100 0
1100001 01100010 01100001 00100000 01110011 01110101 00100000 01110100 01101111
01110001 01110101 01100101 00100000 01100100 01101001 01110011 01110100 01101001
01101110 01110100 01101001 01110110 01101111 00101110 00001101 00001010 0000110
1 00001010 10010110 01000101 01110011 00100000 01110101 01101110 01100001 001000
00 01101100 11100001 01110011 01110100 01101001 01101101 01100001 00100000 10010
110 01001011 01110101 01110101 00100000 01100110 01110010 01110101 01101110 0110
0011 01101001 11110011 00100000 01100101 01101100 00100000 01100011 01100101 111
10001 01101111 00100000 10010110 00101110 00100000 01001101 01100101 00100000 01
100101 01101110 01100011 01100001 01101110 01110100 01100001 00101100 00100000 0
1111001 00100000 01100001 00100000 01101101 01101001 01110011 00100000 01100001
01101101 01101001 01100111 01100001 01110011 00100000 01110100 01100001 01101101
01100010 01101001 11101001 01101110 00100000 01101100 01100101 01110011 0010000
0 01100111 01110101 01110011 01110100 01100001 01110010 11101101 01100001 001011
10 00001101 00001010 00001101 00001010 01001000 01101001 01101101 01100101 01101
011 01101111 00100000 01101000 01100001 01100010 11101101 01100001 00100000 0110
1001 01101110 01110100 01100101 01101110 01110100 01100001 01100100 01101111 001
00000 01100100 01100001 01110010 00100000 01110000 01110101 01100010 01101100 01
101001 01100011 01101001 01100100 01100001 01100100 00100000 01100001 00100000 0
1110011 01110101 01110011 00100000 01110000 01110010 01100101 01101110 01100100
01100001 01110011 00100000 01100100 01110101 01110010 01100001 01101110 01110100
01100101 00100000 01110100 01110010 01100101 01110011 00100000 01100001 1111000
1 01101111 01110011 00101110 00100000 01001000 01100001 01100010 01100001 001000
00 01100101 01101110 01110110 01101001 01100001 01100100 01101111 00100000 01101
101 01110101 01100101 01110011 01110100 01110010 01100001 01110011 00100000 0110
0001 00100000 01100101 01110011 01110100 01101001 01101100 01101001 01110011 011
10100 01100001 01110011 00100000 01111001 00100000 01101000 01100001 01100010 11

101101 01100001 00100000 01101100 01110101 01100011 01101001 01100100 01101111 0


0100000 01110011 01110101 00100000 01110010 01101111 01110000 01100001 00100000
01110011 01101001 01100101 01101101 01110000 01110010 01100101 00100000 01110001
01110101 01100101 00100000 01110000 01101111 01100100 11101101 01100001 0010110
0 00100000 01100010 01110101 01110011 01100011 01100001 01101110 01100100 011011
11 00100000 01100011 01100001 01110000 01110100 01100001 01110010 00100000 01101
100 01100001 00100000 01100001 01110100 01100101 01101110 01100011 01101001 1111
0011 01101110 00100000 01100100 01100101 00100000 01100001 01101100 01100111 011
10101 01101001 01100101 01101110 00100000 01101001 01101110 01100110 01101100 01
110101 01111001 01100101 01101110 01110100 01100101 00101110 00100000 01011001 0
0101100 00100000 01110100 11101101 01110000 01101001 01100011 01101111 00100000
01100100 01100101 00100000 01110011 01110101 00100000 01110011 01110101 01100101
01110010 01110100 01100101 00101100 00100000 01100011 01101111 01101110 0110111
1 01100011 11101101 01100001 00100000 01100001 00100000 01101100 01100001 001000
00 01110000 01100101 01110010 01110011 01101111 01101110 01100001 00100000 01100
001 01100100 01100101 01100011 01110101 01100001 01100100 01100001 00100000 0110
0101 01101110 00100000 01100101 01101100 00100000 01100001 01110110 01101001 111
10011 01101110 00100000 01100100 01100101 00100000 01110110 01110101 01100101 01
101100 01110100 01100001 00100000 01100001 00100000 01100011 01100001 01110011 0
1100001 00101110 00001101 00001010 00001101 00001010 01001000 01101001 01101101
01100101 01101011 01101111 00100000 01110011 01100101 00100000 01110010 01100101
01100011 01101111 01110011 01110100 11110011 00100000 01111001 00100000 0110001
1 01100101 01110010 01110010 11110011 00100000 01101100 01101111 01110011 001000
00 01101111 01101010 01101111 01110011 00101110 00100000 01001111 01100100 01101
001 01100001 01100010 01100001 00100000 01110110 01101111 01101100 01100001 0111
0010 00101110 00100000 01001111 01100100 01101001 01100001 01100010 01100001 001
00000 01101100 01100001 01110011 00100000 01110100 01110101 01110010 01100010 01
110101 01101100 01100101 01101110 01100011 01101001 01100001 01110011 00101110 0
0100000 01001111 01100100 01101001 01100001 01100010 01100001 00100000 01101100
01100001 00100000 01110011 01100101 01101110 01110011 01100001 01100011 01101001
11110011 01101110 00100000 01100101 01101110 00100000 01100101 01101100 0010000
0 01100101 01110011 01110100 01101111 01101101 01100001 01100111 01101111 001000
00 01100101 01101110 00100000 01100101 01101100 00100000 01100100 01100101 01110
011 01110000 01100101 01100111 01110101 01100101 00100000 01111001 00100000 0110
0101 01101100 00100000 01100001 01110100 01100101 01110010 01110010 01101001 011
11010 01100001 01101010 01100101 00101110 00100000 01001100 01101111 01110011 00
100000 01101101 01101111 01110100 01101111 01110010 01100101 01110011 00100000 0
1110010 01110101 01100111 01101001 01100101 01110010 01101111 01101110 00100000
01111001 00100000 01100101 01101100 00100000 01100001 01110110 01101001 11110011
01101110 00100000 01100001 01100011 01100101 01101100 01100101 01110010 0110111
1 00101110 00100000 01000001 01100010 01110010 01101001 11110011 00100000 011011
00 01101111 01110011 00100000 01101111 01101010 01101111 01110011 00100000 01110
101 01101110 00100000 01110011 01100101 01100111 01110101 01101110 01100100 0110
1111 00100000 01111001 00100000 01110110 01101001 01101111 00100000 01100001 001
00000 01001011 01110101 01110101 00100000 01100100 01100001 01101110 01100100 01
101111 00100000 01110110 01110101 01100101 01101100 01110100 01100001 01110011 0
0100000 01100001 01101100 00100000 01100001 01101110 01101001 01101100 01101100
01101111 00100000 01100011 01101111 01101110 00100000 01101110 01100101 01110010
01110110 01101001 01101111 01110011 01101001 01110011 01101101 01101111 0010111
0 00100000 01010100 01100001 01101101 01110000 01101111 01100011 01101111 001000
00 01110000 01100001 01110010 01100101 01100011 11101101 01100001 00100000 01100
111 01110101 01110011 01110100 01100001 01110010 01101100 01100101 00100000 0111
0110 01101111 01101100 01100001 01110010 00101110 00001101 00001010 00001101 000
01010 01001100 01100001 01110011 00100000 01110010 01110101 01100101 01100100 01
100001 01110011 00100000 01100001 01100010 01100001 01101110 01100100 01101111 0
1101110 01100001 01110010 01101111 01101110 00100000 01100101 01101100 00100000
01110011 01110101 01100101 01101100 01101111 00100000 01111001 00100000 01100101
01101100 00100000 01100001 01110110 01101001 11110011 01101110 00100000 0111001
1 01100101 00100000 01100101 01110011 01110100 01110010 01100101 01101101 011001
01 01100011 01101001 11110011 00100000 01100011 01101111 01101110 00100000 01110

101 01101110 01100001 00100000 01110011 01100001 01100011 01110101 01100100 0110
1001 01100100 01100001 00101110 00100000 01000101 01101100 00100000 01100011 011
01111 01100100 01101111 00100000 01100100 01100101 00100000 01001011 01110101 01
110101 00100000 01110010 01100101 01110011 01100010 01100001 01101100 11110011 0
0100000 01100100 01100101 01101100 00100000 01110010 01100101 01110000 01101111
01110011 01100001 01100010 01110010 01100001 01111010 01101111 01110011 00100000
01111001 00100000 01100101 01101100 00100000 01100001 01101110 01101001 0110110
0 01101100 01101111 00100000 01110011 01100001 01101100 01101001 11110011 001000
00 01100100 01101001 01110011 01110000 01100001 01110010 01100001 01100100 01101
111 00100000 01111001 00100000 01110010 01101111 01100100 01101111 00100000 0111
0000 01101111 01110010 00100000 01100101 01101100 00100000 01110011 01110101 011
00101 01101100 01101111 00100000 01101000 01100001 01100011 01101001 01100001 00
100000 01101100 01100001 01110011 00100000 01100110 01101001 01101100 01100001 0
1110011 00100000 01100100 01100101 00100000 01100001 01110100 01110010 11100001
01110011 00101110 00001101 00001010 00001101 00001010 10010110 10100001 01001111
01101000 00100001 00101100 00100000 01100100 01101001 01100001 01100010 0110110
0 01101111 01110011 00100000 10010110 01110000 01110010 01101111 01110100 011001
01 01110011 01110100 01101111 00100000 01001011 01110101 01110101 00101110 00001
101 00001010 00001101 00001010 01000101 01110010 01100001 00100000 01100101 0110
1100 00100000 01110000 01100101 01101111 01110010 00100000 01101101 01101111 011
01101 01100101 01101110 01110100 01101111 00100000 01110000 01100001 01110010 01
100001 00100000 01110001 01110101 01100101 00100000 01101111 01100011 01110101 0
1110010 01110010 01101001 01100101 01110010 01100001 00100000 01100001 01101100
01100111 01101111 00100000 01100001 01110011 11101101 00101110 00100000 01001000
01101001 01101101 01100101 01101011 01101111 00100000 01101001 01100010 0110000
1 00100000 01100001 00100000 01110100 01110010 01100001 01101110 01110001 011101
01 01101001 01101100 01101001 01111010 01100001 01110010 01101100 01100001 00100
000 01100011 01110101 01100001 01101110 01100100 01101111 00100000 01110011 0110
0101 00100000 01101111 01111001 11110011 00100000 01110101 01101110 01100001 001
00000 01100101 01111000 01110000 01101100 01101111 01110011 01101001 11110011 01
101110 00101110 00100000 01000101 01101100 00100000 01100001 01110110 01101001 1
1110011 01101110 00100000 01110011 01100101 00100000 01101001 01101110 01100011
01101100 01101001 01101110 01101111 00100000 01101000 01100001 01100011 01101001
01100001 00100000 01100100 01100101 01101100 01100001 01101110 01110100 0110010
1 00101110 00100000 01001000 01101001 01101101 01100101 01101011 01101111 001000
00 01101101 01101001 01110010 11110011 00100000 01110000 01101111 01110010 00100
000 01101100 01100001 00100000 01110110 01100101 01101110 01110100 01100001 0110
1110 01101001 01101100 01101100 01100001 00101100 00100000 01100001 11111010 011
01110 00100000 01101110 01101111 00100000 01100101 01110011 01110100 01100001 01
100010 01100001 01101110 00100000 01100100 01100101 01101101 01100001 01110011 0
1101001 01100001 01100100 01101111 00100000 01101100 01100101 01101010 01101111
01110011 00100000 01100100 01100101 01101100 00100000 01110011 01110101 01100101
01101100 01101111 00101110 00001101 00001010 00001101 00001010 01000011 0110010
1 01110010 01110010 11110011 00100000 01101100 01101111 01110011 00100000 011011
11 01101010 01101111 01110011 00100000 01101001 01100111 01101110 01101111 01110
010 01100001 01101110 01100100 01101111 00100000 01101100 01101111 01110011 0010
0000 01100011 01110010 01110101 01101010 01101001 01100100 01101111 01110011 001
00000 01100100 01100101 01101100 00100000 01100001 01110110 01101001 11110011 01
101110 00100000 01111001 00100000 01101100 01101111 01110011 00100000 01100111 0
1110010 01101001 01110100 01101111 01110011 00100000 01100100 01100101 00100000
01101100 01101111 01110011 00100000 01110000 01100001 01110011 01100001 01101010
01100101 01110010 01101111 01110011 00101110 00100000 01000101 01101100 0010000
0 01110000 01101001 01101100 01101111 01110100 01101111 00100000 01100001 011011
10 01110101 01101110 01100011 01101001 01101111 00100000 01110101 01101110 00100
000 01100001 01110100 01100101 01110010 01110010 01101001 01111010 01100001 0110
1010 01100101 00100000 01100100 01100101 00100000 01100101 01101101 01100101 011
10010 01100111 01100101 01101110 01100011 01101001 01100001 00101110 00100000 01
001000 01101001 01101101 01100101 01101011 01101111 00100000 01100001 01110000 0
1101111 01111001 11110011 00100000 01101100 01100001 00100000 01100011 01100001
01100010 01100101 01111010 01100001 00100000 01100101 01101110 00100000 01101100

01100001 01110011 00100000 01110010 01101111 01100100 01101001 01101100 0110110


0 01100001 01110011 00100000 01111001 00100000 01110011 01100101 00100000 011000
01 01100010 01110010 01100001 01111010 11110011 00100000 01101100 01100001 01110
011 00100000 01110000 01101001 01100101 01110010 01101110 01100001 01110011 0010
1110 00100000 01010011 01101111 01101110 11110011 00100000 01110101 01101110 001
00000 01100101 01110011 01110100 01100001 01101100 01101100 01101001 01100100 01
101111 00101100 00100000 01101100 01100001 01110011 00100000 01101100 01110101 0
1100011 01100101 01110011 00100000 01110011 01100101 00100000 01100001 01110000
01100001 01100111 01100001 01110010 01101111 01101110 00100000 01111001 00100000
01100101 01101100 00100000 01100001 01110110 01101001 11110011 01101110 0010000
0 01100011 01100001 01111001 11110011 00100000 01100101 01101110 00100000 011100
00 01101001 01100011 01100001 01100100 01101111 00101110 00001101 00001010 00001
101 00001010 01010011 01101111 01101100 01101111 00100000 01110001 01110101 0110
0101 01100100 01100001 01100010 01100001 00100000 01110010 01100101 01111010 011
00001 01110010 00101110 00001101 00001010
!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>{Title}{block:PostSummary} &mdash; {PostSummary}{/block:PostSummary}<
/title>
{block:Description}<meta name="description" content="{MetaDescription}" />{/
block:Description}
<link rel="shortcut icon" href="{Favicon}" />
<link rel="alternate" type="application/rss+xml" href="{RSS}" />
<meta name="viewport" content="width=device-width, maximum-scale=1, minimumscale=1" />
<meta name="text:Analytics" content=""/>
<meta name="text:Disqus Shortname" content=""/>
{block:IfDisqusShortname}<script type="text/javascript">disqusEnabled = true
;disqusShortname = "{text:Disqus Shortname}";</script>{/block:IfDisqusShortname}
<link rel="stylesheet" type="text/css" href="http://static.tumblr.com/i21wc3
9/5sxmn9bjr/paperstacks_theme.css" />
<!-- COLORS -->
<meta name="color:HeaderForeground" content="#211f1f"/>
<meta name="font:BodyFont" content="'Helvetica Neue', Helvetica, Arial, sans
-serif" />
<meta name="image:HeaderBackground" content="">
{block:IfHeaderBackgroundImage}<style type="text/css">#header{ background-im
age: url({image:HeaderBackground}); background-repeat: repeat; }</style>{/block:
IfHeaderBackgroundImage}
<!-- vanilla -->
<meta name="if:PlainWhite" content="0">
<style type="text/css">
body { font-family: {font:BodyFont};}
{block:IfPlainWhite}
html { background-color: #fff; }
a { color: #0F0E0F; }
#page { color: #211f1f; }
#pagination-posts a { color: #fff; background-color: #211f1f;}

#header{ color: {color:HeaderForeground}; }


#header a, #features a { color: {color:HeaderForeground}; }
#features .pagination a { color: #fff; background-color: #211f1f;}
#features .navigation .on {color: #666;}
#nav-bottom { color: #211f1f; }
#nav-bottom a { color: #211f1f; }
.link-text { color: #211f1f; border-bottom: 2px solid #0F0E0F; }
::selection { background: #211f1f; color: #fffcf5;}
{/block:IfPlainWhite}
{block:IfNotPlainWhite}
html { background-color: #211f1f; }
a { color: #c94a00; }
#page { background-color: #fffcf5; color: #211f1f; }
#pagination-posts a { color: #fffcf5; background-color: #211f1f;}
#header{ background-color: #d6d2cc; color: {color:HeaderForeground}; }
#header a, #features a { color: {color:HeaderForeground}; }
#features .pagination a { color: #d6d2cc; background-color: #211f1f;}
#features .navigation .on {color: #c94a00;}
#nav-bottom { background-color: #211f1f; color: #fff; }
#nav-bottom a { color: #fff; }
.link-text { color: #211f1f; border-bottom: 2px solid #c94a00; }
::selection { background: #c94a00; color: #fffcf5;}
{/block:IfNotPlainWhite}
{CustomCSS}
</style>
</head>
<body class="{block:IndexPage}index{/block:IndexPage} {block:PermalinkPage}sho
w{/block:PermalinkPage} {block:TagPage}tag_page{/block:TagPage}">
<div id="extra_div_1"></div>
<div id="page">
<div id="extra_div_2"></div>
<div id="header">
<div id="nav_wrap">
<h1><a href="/">
{Title}
</a></h1>
<div class="nav" id="nav-top">
<ul class="menu">
{block:Pages}
<li class="page {Label}"><a href="{URL}" title="{Label}">{Label}</
a></li>
{/block:Pages}
{block:AskEnabled}<li><a href="/ask">{AskLabel}</a></li>{/block:As
kEnabled}
<li class="tumblr-archive"><a href="/archive">Archive</a></li>
</ul>
</div>

{block:TagPage}<h2 class="tag">{Tag}</h2>{/block:TagPage}
</div>
</div><!-- #header -->
{block:Description}
<div id="description">
<div class="description-text">{Description}</div>
</div>
{/block:Description}
<div id="posts-wrap" class="wrap">
<ul id="posts" class="{block:IndexPage}index{/block:IndexPage} {block:Pe
rmalinkPage}show{/block:PermalinkPage}">
{block:Posts}
<li id="post_{PostID}" class="post{block:Text} text{/block:Text}{block
:Photo} photo{/block:Photo}{block:Photoset} photoset{/block:Photoset}{block:Quot
e} quote{/block:Quote}{block:Link} link{/block:Link}{block:Chat} chat{/block:Cha
t}{block:Video} video{/block:Video}{block:Audio} audio{/block:Audio}{block:Answe
r} answer{/block:Answer}{block:PermalinkPage} permalink_page{/block:PermalinkPag
e} {TagsAsClasses}" data-permalink="{Permalink}" data-post-type="{PostType}">
<div class="post-pad">
<div class="post-meta">
{block:Title}<h3 class="post-title"><a href="{Permalink}">{Title
}</a></h3>{/block:Title}
{block:Date}
<div class="date date-top">
<a href="{Permalink}">
<span class="days">{Month} {DayOfMonth}, {Year}</span>
<span class="time">{12Hour}:{Minutes} {AmPm}</span>
</a>
</div>
{/block:Date}
</div>
<div class="post-content">
{block:Photo}
<div class="photo-permalink-container">
{block:IndexPage}<a class="photo-permalink" href="{Permalink}">{
/block:IndexPage}{block:PermalinkPage}{LinkOpenTag}{/block:PermalinkPage}<img sr
c="{block:IndexPage}{PhotoURL-400}{/block:IndexPage}{block:PermalinkPage}{PhotoU
RL-HighRes}{/block:PermalinkPage}" alt="{PhotoAlt}" data-highres="{PhotoURL-High
Res}" class="post-image" /></a>
</div>
{/block:Photo}
{block:Photoset}
<div class="photoset_wrap" data-permalink="{block:IndexPage}{Per
malink}{/block:IndexPage}{block:PermalinkPage}{PhotoURL-HighRes}{/block:Permalin
kPage}">
{block:Photos}
<a class="photoset_photo" href="{Permalink}"><img src="{block:
IndexPage}{PhotoURL-400}{/block:IndexPage}{block:PermalinkPage}{PhotoURL-HighRes
}{/block:PermalinkPage}" data-highres="{PhotoURL-HighRes}" class="post-image" />
</a>
{/block:Photos}
</div>
{/block:Photoset}
{block:Video}
<div class="video-player">{Video-500}</div>

{/block:Video}
{block:Audio}
<div class="audio-player" {block:Artist}data-artist={URLEncodedA
rtist}{/block:Artist} {block:TrackName}data-track={URLEncodedTrackName} {block:A
lbum}data-album={URLEncodedAlbum}{/block:Album} {block:AlbumArt}data-art="{Album
ArtURL}"{/block:AlbumArt}>
{block:Artist}<h3 class="id3 artist-name">{Artist}</h3>{/block
:Artist}
{block:TrackName}<h4 class="id3 song-name">{TrackName}</h4>{/b
lock:TrackName}
{block:Album}<h5 class="id3 album-name">{Album}</h5>{/block:Al
bum}
{AudioPlayerBlack}
</div>
{block:AlbumArt}<div class="audio-cover"><img src="{AlbumArtURL}
" /></div>{/block:AlbumArt}
{/block:Audio}
{block:Text}
<div class="text-body">
{Body}
</div>
{/block:Text}
{block:Quote}
<div class="quote-text">{Quote}</div>
{block:Source}<div class="quote-source">{Source}</div>{/block:So
urce}
{/block:Quote}
{block:Link}
<a href="{URL}" class="link-text" {Target}>{Name}</a>
{block:Description}<div class="link-description">{Description}</
div>{/block:Description}
{/block:Link}
{block:Chat}
<ul class="chat-messages">
{block:Lines}
<li class="{Alt} chat-user_{UserNumber}">
{block:Label}<span class="chat-label">{Label}</span>{/block:
Label}
<p class="chat-line">{Line}</p>
</li>
{/block:Lines}
</ul>
{/block:Chat}
{block:Answer}
<div class="question">
{Question}
</div>
<div class="asker_container">{Asker}</div>
{block:PermalinkPage}<div class="answer">{Answer}</div>{/block:P
ermalinkPage}
{/block:Answer}
{block:Caption}<div class="caption">{Caption}</div>{/block:Capti
on}

</div>
<div class="social tmblr-social">
<a class="like tmblr-like" href="#" data-id="{PostID}" data-rebl
og-url="{ReblogURL}">Like</a>
<a href="{ReblogURL}" class="reblog tmblr-reblog">Reblog</a>
</div>
{block:HasTags}
<div class="tags">
<h4>Tags</h4>
<ul class="tags-list">
{block:Tags}
<li class="tag"><a href="{TagURL}">{Tag}</a></li>
{/block:Tags}
</ul>
</div>
{/block:HasTags}
{block:ContentSource}
<div class="source">
<span class="source-label">via</span>
<a href="{SourceURL}" class="source-title">{SourceTitle}</a>
</div>
{/block:ContentSource}
{block:IndexPage}<a class="permalink" href="{Permalink}">&#x279C;<
/a>{/block:IndexPage}
</div> <!-- .post-pad -->
</li>
{/block:Posts}
</ul> <!-- #posts -->
{block:PermalinkPagination}
<div class="pagination" id="pagination-posts">
<div class="pagination-links">
{block:NextPost}<a class="pagination-newer" href="{NextPost}">&#x25C
0;</a>{/block:NextPost}
{block:PreviousPost}<a class="pagination-older" href="{PreviousPost}
">&#x25B6;</a>{/block:PreviousPost}
</div>
</div>
{/block:PermalinkPagination}
</div><!-- #posts-wrap -->
{block:Pagination}
<div class="pagination" id="pagination-pages">
<div class="pagination-links">
{block:PreviousPage}<a class="pagination-newer" href="{PreviousPage}">
&#x25C0; Newer</a>{/block:PreviousPage}
<a class="pagination-archive" href="/archive">Archive</a>
{block:NextPage}<a class="pagination-older" href="{NextPage}">Older &#
x25B6;</a>{/block:NextPage}
</div>
</div>
{/block:Pagination}
{block:PermalinkPage}
<div class="note-wrap">
{block:Posts}{block:NoteCount}<div class="notecount">{NoteCountWithLabel

}</div>{/block:NoteCount}{/block:Posts}
{block:PostNotes}{PostNotes}{/block:PostNotes}
</div>
{block:IfDisqusShortname}
<!-- DISQUS COMMENTS -->
<div id="disqus">
<h2>{lang:Recent comments}</h2>
<script type="text/javascript">var disqus_url =
"{Permalink}"; var disqus_title ="{block:PostTitle}{PostTitle}{/block:PostTitle}
";</script>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_identifier = {PostID};
(function() {
var dsq = document.createElement('script
'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqusShortname +
'.disqus.com/embed.js';
(document.getElementsByTagName('head')[0
] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <
a href="http://disqus.com/?ref_noscript={text:DisqusShortname}">comments powered
by Disqus.</a></noscript>
{lang:Blog comments powered by Disqus 2}
</div><!-- /#disqus -->
{/block:IfDisqusShortname}
{/block:PermalinkPage}
<div class="nav" id="nav-bottom">
<ul class="menu">
{block:Pages}
<li class="page {Label}"><a href="{URL}" title="{Label}">{Label}</a></
li>
{/block:Pages}
<li class="tumblr-archive"><a href="/archive">Archive</a></li>
</ul>
<div id="footerInfo">
<div class="sized">
{block:Description}<p>{Description}</p>{/block:Description}
<p>Paper Stacks, a collaboration by <a href="http://www.fiftythree.c
om/tumblr/via/theme">FiftyThree</a> and <a href="http://www.alldayeveryday.com/"
>ALLDAYEVERYDAY</a>.</p>
</div>
</div>
</div>
<div id="extra_div_3"></div>
</div><!-- #page -->
<div id="extra_div_4"></div>
<script src="http://static.tumblr.com/i21wc39/CQPmn9bkv/paperstacks_theme.js
"></script>
{block:IfAnalytics}
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{text:Analytics}']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga
.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http:/
/www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBef
ore(ga, s);
})();
</script>
{/block:IfAnalytics}
</body>
</html>