def divisao(self, coluna, valor, valores=None):
     if valores == None:
         valores = self.dados()
     escolhidos = []
     outros = []
     for v in valores:
         if v[coluna] == valor:
             escolhidos.append(v)
         else:
             outros.append(v) 
     d = []
     g1 = Galho(coluna, valor, self.nvl)
     g1.registrarValores(escolhidos)
     d.append(g1)
     g2 = Galho('!'+coluna, valor, self.nvl)
     g2.registrarValores(outros)
     d.append(g2)
     return d
 def nova_divisao(self, coluna, valor, galhos):
     self.nvl += 1
     aux = []
     for galho in galhos:
         escolhidos = []
         outros = []
         for v in galho.valores:
             if v[coluna] == valor:
                 escolhidos.append(v)
             else:
                 outros.append(v)
         g1 = Galho(coluna, valor, self.nvl, galho)
         g1.registrarValores(escolhidos)
         g2 = Galho('!'+coluna, valor, self.nvl, galho)
         g2.registrarValores(outros)
         aux.append(g1)
         aux.append(g2)
     galhos += aux
     print len(galhos)