def getRanges(self):

        print("self.getnVars()" + str(self.getnVars()))
        m = int(self.getnVars())
        rangos = [[0.0 for y in range(2)] for x in range(m)]
        print("rangos has two dimensions, first is self.getnVars()==" +
              str(self.getnVars()) + ",second is 2")
        for i in range(0, self.getnInputs()):
            print("self.getnInputs()" + str(self.getnInputs()) + " i = " +
                  str(i))
            attHere = Attributes.getInputAttribute(Attributes, i)
            print("attHere.getNumNominalValues()== " +
                  str(attHere.getNumNominalValues()))
            if (attHere.getNumNominalValues() > 0):
                rangos[i][0] = 0.0
                rangos[i][1] = attHere.getNumNominalValues() - 1
                print(" attHere.getNumNominalValues() > 0,rangos[" + str(i) +
                      "][0]==" + str(rangos[i][0]) + ",rangos[i][1]== " +
                      str(rangos[i][1]))

            else:
                rangos[i][0] = attHere.getMinAttribute()
                rangos[i][1] = attHere.getMaxAttribute()
                print(" attHere.getNumNominalValues() <= 0, rangos[" + str(i) +
                      "][0]==" + str(rangos[i][0]) + ",rangos[i][1]== " +
                      str(rangos[i][1]))

        rangos[self.getnVars() - 1][0] = Attributes.getOutputAttribute(
            Attributes, 0).getMinAttribute()
        rangos[self.getnVars() - 1][1] = Attributes.getOutputAttribute(
            Attributes, 0).getMaxAttribute()
        return rangos
    def removeAttribute(self, tSet, inputAtt, whichAtt):
        attToDel = None
        # Getting a reference to the attribute to del
        if (inputAtt == True):
            if (self.storeAttributesAsNonStatic and self.attributes != None):
                attToDel = self.attributes.getInputAttribute(whichAtt)
            else:
                attToDel = Attributes.getInputAttribute(whichAtt)

        else:
            if (self.storeAttributesAsNonStatic and self.attributes != None):
                attToDel = self.attributes.getOutputAttribute(whichAtt)
            else:
                attToDel = Attributes.getOutputAttribute(whichAtt)

        if (self.storeAttributesAsNonStatic == True and self.attributes != None):
            print("Removing the attribute")
        if (self.attributes.removeAttribute(inputAtt, whichAtt) == False or (tSet != None and tSet.attributes.removeAttribute(inputAtt, whichAtt)) == False):
            return False
        else:
            if (Attributes.removeAttribute(inputAtt, whichAtt) == False):
                return False
        for i in range(0, len(self.instanceSet)):
            if (self.storeAttributesAsNonStatic and self.attributes != None):
                self.instanceSet[i].removeAttribute(self.attributes, attToDel, inputAtt, whichAtt)
            else:
                self.instanceSet[i].removeAttribute(attToDel, inputAtt, whichAtt)

        if (tSet != None):
            for i in range(0, tSet.instanceSet.length):

                if (self.storeAttributesAsNonStatic == True and self.attributes != None):
                    tSet.instanceSet[i].removeAttribute(self.attributes, attToDel, inputAtt, whichAtt)
            else:
                tSet.instanceSet[i].removeAttribute(attToDel, inputAtt, whichAtt)
            return True
 def getNames(self):
     nombres = ["" for x in range(self.__nInputs)]
     for i in range(0, self.__nInputs):
         nombres[i] = Attributes.getInputAttribute(Attributes, i).getName()
     return nombres
 def numberValues(self, attribute):
     return Attributes.getInputAttribute(
         self, attribute).getNumNominalValues(Attributes)