Python - funcion para tokenizar cadena

 
Vista:
sin imagen de perfil

funcion para tokenizar cadena

Publicado por Horacio (19 intervenciones) el 25/05/2017 14:19:03
Buenas gente, me ayudarían con lo siguiente:

la idea de la función es que reciba como parámetro un str que corresponde a una función matemática y la devuelva separada cada termino por un espacio en blanco:

ej :

'2x+3' -> 2x +3
'-2x^3+2x^2' -> -2x^3 +2x^2

lo que hice hasta ahora funciona con los ejemplos mencionados:

1
2
3
4
5
6
7
8
9
10
def formatear(funcion):
    salida = ""
    j = 0
    for i in range(0, len(funcion)):
        if funcion[i] in ['-', '+']:
            if not funcion[i-1] in ['^', '(']:
                salida += funcion[j:i] + " "
                j = i
    salida += funcion[j:]
    return salida

el caso que no estoy logrando es como el siguiente (x^3+2)/3

donde seria equivalente a x^3/3 +2/3
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder