Códigos e cifras: criptografia para curiosos

Sobre o Jupyter Notebook

Isto é um Jupyter Notebook, um documento interativo. Outro exemplo de documento interativo é uma planilha eletrônica feita no Excel ou no Libre Office.

Um documento interativo tem células que o leitor pode editar, alterando o resultado de outras células.


In [1]:
t = '''Códigos
e cifras'''

print(t)


Códigos
e cifras

In [2]:
t


Out[2]:
'Códigos\ne cifras'

In [3]:
len(t)


Out[3]:
16

In [4]:
list(t)


Out[4]:
['C',
 'ó',
 'd',
 'i',
 'g',
 'o',
 's',
 '\n',
 'e',
 ' ',
 'c',
 'i',
 'f',
 'r',
 'a',
 's']

In [5]:
list(enumerate(t))


Out[5]:
[(0, 'C'),
 (1, 'ó'),
 (2, 'd'),
 (3, 'i'),
 (4, 'g'),
 (5, 'o'),
 (6, 's'),
 (7, '\n'),
 (8, 'e'),
 (9, ' '),
 (10, 'c'),
 (11, 'i'),
 (12, 'f'),
 (13, 'r'),
 (14, 'a'),
 (15, 's')]

In [6]:
arq1 = open('arq1.txt', 'w')
arq1.write(t)
arq1.close()

In [7]:
!wc arq1.txt


 1  3 17 arq1.txt

In [8]:
!xxd arq1.txt


00000000: 43c3 b364 6967 6f73 0a65 2063 6966 7261  C..digos.e cifra
00000010: 73                                       s

In [ ]:


In [9]:
txt = open('arq1.txt').read()
txt


Out[9]:
'Códigos\ne cifras'

In [10]:
arq1 = open('arq2.txt', 'w', encoding='latin1')
arq1.write(txt)
arq1.close()

In [11]:
!wc arq2.txt


 1  3 16 arq2.txt

In [12]:
!xxd arq2.txt


00000000: 43f3 6469 676f 730a 6520 6369 6672 6173  C.digos.e cifras

In [ ]: