Exercício 01: Crie uma função ContaPalavras que receba como entrada o nome de um arquivo de texto e retorne a frequência de cada palavra contida nele.
In [ ]:
# Contador de palavras
import codecs
from collections import defaultdict
def ContaPalavras(texto):
for palavra, valor in ContaPalavras('exemplo.txt').iteritems():
print (palavra, valor)
Exercício 02: Crie uma função ConverteData() que recebe uma string no formato DIA-MES-ANO e retorne uma string no formato DIA-MES_NUMERO-ANO. Exemplo:
'01-MAI-2000' => '01-05-2000'.
Você pode separar a string em uma lista de strings da seguinte maneira:
data = '01-MAI-2000'
lista = data.split('-')
print lista # ['01','MAI','2000']
E pode juntar novamente usando join
:
lista = ['01','05', '2000']
data = '-'.join(lista)
print data # '01-05-2000'
In [4]:
# converter data no formato 01-MAI-2000 em 01-05-2000
def ConverteData(data):
print (ConverteData('01-MAI-2000'))
Exercício 03: Crie um dicionário chamado Dados que tenha como chave um número de 2 até 12 e o valor seja uma lista contendo todas as combinações dos valores de dois dados que resulta nessa chave.
In [6]:
# crie um dicionário em que a chave é um número de 2 a 12
# e o valor é uma lista de combinações de dois dados que resulta na chave
Dados =...
for chave, valor in Dados.iteritems():
print (chave, valor)
Exercício 04: Crie um dicionário onde as chaves são palavras em português e os valores sua tradução para o inglês. Use todas as palavras do texto do exercício 01.
Crie uma função Traduz() que recebe o nome do arquivo texto como parâmetro e retorna uma string com a tradução.
In [12]:
# crie um pequeno dicionário de inglês para português e use para traduzir frases simples
import codecs
def Traduz(texto):
print (Traduz('exemplo.txt'))
Exercício 05: A Cifra de César é uma forma simples de criptografar um texto. O procedimento é simples:
n = 1
A -> B
B -> C
...
n = 2
A -> C
B -> D
...
A Codificação é feita substituindo cada letra da frase pelo correspondente do mapa.
Para Decodificar uma frase, basta criar um mapa utilizando $-n$ ao invés de $n$.
Crie uma função ConstroiDic() que recebe um valor n como entrada e cria um mapa de substituição. Utilize a constante string.ascii_letters
para obter todas as letras do alfabeto.
Note que o mapa é cíclico, ou seja, para n=1, a letra Z tem que ser substituida pela letra A. Isso pode ser feito utilizando o operador '%'.
Crie uma função Codifica() que recebe como parâmetros uma string contendo uma frase e um valor para n, essa função deve construir o dicionário e retornar a frase codificada.
Para Decodificar o texto, basta chamar a função Codifica() pasando -n como parâmetro.
In [42]:
# cifra de César
import string
def ConstroiDic(n):
def Codifica(frase, n):
l = Codifica('Vou tirar dez na proxima prova', 5)
print (l)
print (Codifica(l,-5))
Exercício 06: Faça uma função que leia a tabela periódica de um arquivo (você construirá esse arquivo) e armazene em um dicionário.
In [6]:
# tabela periodica
Exercício 07: Assista o vídeo abaixo e crie uma lista com os personagens da letra da música.
Em seguida, utilizando dois laços for
percorra essa lista e escreva a letra da música.
In [2]:
from IPython.display import YouTubeVideo
YouTubeVideo('BZzNBNoae-Y', 640,480)
Out[2]:
In [7]:
# velha a fiar
Exercício 08: Faça uma função que converta um número decimal para romano. Para isso construa um dicionário em que as chaves são os números decimais e os valores o equivalente em romano.
O algoritmo funciona da seguinte forma:
Exercício 09: Faça uma função que converta um número romano para decimal. Para isso construa um dicionário com o inverso do que foi feito no ex. anterior. O algoritmo fica assim:
In [41]:
# dec - romano - dec
def DecRoman(x):
def RomanDec(r):
r = DecRoman(1345)
x = RomanDec(r)
print (r,x)