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)