Skip to content

Instantly share code, notes, and snippets.

@santagada
Created November 21, 2013 00:01
Show Gist options
  • Save santagada/7573519 to your computer and use it in GitHub Desktop.
Save santagada/7573519 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# _*_ encoding: latin-1
import random
#tipo de verbos
TD='TD'
TI='TI'
TDI='TDI'
NEG = 'NEG'
#preposiÁoes
NADA=''
DE='de'
A='a'
COM='com'
PARA='para'
EM='em'
FEM=0
MASC=1
verbos=[('comer', TD, NADA),
('beber', TD, NADA),
('limpar', TD, NADA),
('ir', TI, PARA),
('precisar', TI, DE),
('pescar', TD, NADA),
('escutar', TD, NADA),
('procurar', TD, NADA),
('espancar', TD, NADA),
('atirar', TI, EM),
('fumar', TD, NADA),
('queimar', TD, NADA),
('atropelar', TD, NADA),
('tirar', TDI, DE),
('atirar', TDI, EM),
('receber', TDI, DE),
('vender', TDI, PARA),
('vender', TD, NADA),
('dar', TDI, PARA),
('roubar', TDI, DE),
('apostar', TI, EM),
('meter', TDI, EM),
('imitar', TD, NADA)]
objetos=[('camisa','cadeira','vovozinha', 'calcinha','rosca','merda', 'mulher do badanha','caneta','borracha','biblia','cadeia','crianca','freira','costureira','lampada','travequeira','bitoca','buceta','pipoca','galinha','mae','garrafa','cambota','perna gorda','pelancuda'),
('lobo-mau','pebolim', 'balde', 'sorvete', 'automovel', 'vendedor manco de pipoca doce', 'piruliteiro', 'cemiterio', 'astronauta', 'astronauta de marmore','papel', 'vendedor de biblia','lapis','cabrito','Deus', 'Diabo', 'nosso Senhor','proprio peh','docinho', 'caralho','padre','cu','garcom','bispo','fanho', 'Pele','Fuscao Preto','traveco','abacaxi','mendigo','peido','baralho','charuto','fininho','cachimbo','churros','pai','caniÁo','dilema')]
artigos={NADA:('a','o',''),DE:('da','do',''), A:('a','ao',''), COM:('com a','com o','com '), PARA:('para a', 'para o','para '), EM:('na','no','em ')}
def verbo():
return random.choice(verbos)
def objeto():
valor = random.randrange(2)
return (random.choice(objetos[valor]),valor)
def objetopronto(verb):
obj = objeto()
if verb[1] == TDI:
#tirar a bibla de deus
#dar algo para alguem
obj2 = objeto()
ob1= artigos[NADA][obj[1]]+' '+obj[0]
ob2= artigos[verb[2]][obj2[1]]+' '+obj2[0]
return ob1 + ' ' + ob2
else:
#if random.randrange(4):
return artigos[verb[2]][obj[1]]+' '+obj[0]
#else:
# return artigos[verb[2]][2]+obj[0]
def fraseehcomo():
v1= verbo()
v2= verbo()
o1= objetopronto(v1)
o2= objetopronto(v2)
return '%s %s eh como %s %s'%(v1[0],o1, v2[0],o2)
def frasedois():
v1= verbo()
v2= verbo()
o1= objetopronto(v1)
o2= objetopronto(v2)
o3= objetopronto(('',TI,A))
return '%s %s e %s %s eh igual %s'%(v1[0],o1,v2[0],o2,o3)
def frasejadizia():
v1= verbo()
v2= verbo()
o1= objetopronto(v1)
o2= objetopronto(v2)
o3= objetopronto(verbos[0])
return 'Ja dizia %s: Antes %s %s do que %s %s'%(o3,v1[0],o1,v2[0],o2)
def fraseparaq():
v1= verbo()
v2= verbo()
o1= objetopronto(v1)
o2= objetopronto(v2)
return 'Para que %s %s se posso %s %s'%(v1[0],o1, v2[0],o2)
def fraseperdido():
o1= objetopronto(('', TD, NADA))
o2= objetopronto(('', TI, EM))
o3= objetopronto(('', TI, DE))
return 'TÙ mais perdido do que %s %s %s'%(o1, o2, o3)
def frasefeliz():
v1= verbo()
o1= objetopronto(v1)
return 'Para mim a felicidade eh como %s %s'%(v1[0],o1)
def fraseqteupai():
v1= verbo()
o1= objetopronto(v1)
return 'Que teu pai queria %s %s na guerra'%(v1[0],o1)
#tipofrase=[getattr(self,nome) for nome in dir() if nome.startswith('frase')]
tipofrase=(fraseehcomo, frasedois, frasejadizia, fraseparaq, fraseperdido, frasefeliz, fraseqteupai)
def gfrase():
return random.choice(tipofrase)()
if __name__ == '__main__':
for i in range(10):
print gfrase()
import re
class FraseCompilada:
def __init__():
print 'inicio'
# $n $v1 $o1 eh como $n $v2 $o2
# J· dizia $o(TD,NADA): $v1 $o1
regex = re.compile("\$[uvo]([0-9]+|\([0-9A-Z,]\))?")
def limpa(frase):
return regex.sub('%s',frase)
def geratabela(frase):
lista = regex.findall(frase)
def compile(frase):
stringlimpa = limpa(frase)
tabela = geratabela(frase)
return FraseCompilada(stringlimpa,tabela)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment