<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __to_text(self, number, indice = 0, sing=False):
 """Convierte un numero a texto, recursivamente"""


        number = int(number)
        exp = self.exponentes[indice]
        indice += 1
        divisor = 10 ** exp

        if exp == 3:
            func = self.__numero_tres_cifras
        else:
            func = self.__to_text
        
        if divisor < number:
            division = number // divisor
            resto = number % divisor
        
            if resto:
                der = func(resto, indice, sing)
            else:
                der = False

            if exp == 3 and division == 1: #1000
                return "%s %s" % (exponentes_plural[exp], der)
            else:
                izq = func(division, indice, True)
                if der:
                    if division == 1:
                        return "%s %s" % (exponentes_singular[exp], der)
                    else:
                        return "%s %s %s" % (izq, exponentes_plural[exp], der)
                else:
                    if division == 1:
                        return exponentes_singular[exp]
                    else:
                        return "%s %s" % (izq, exponentes_plural[exp])
                        
        elif divisor == int(number):
            if exp == 3:
                return exponentes_plural[exp]
            else:
                return exponentes_singular[exp]
        else:
            return func(number, indice, sing)