Bonjour, je voudrais créer une fonction qui parse une expression mathématique (un problème classique pour lequel je n'ai pas trouvé de solution en python). Le but serait quelque chose du genre :

analyse('2*x+(3+x)') renverrai une liste : ['+','2*x','3+x']

J'arrive à parser l'expression en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
import ast
st = ast.parse("2*x+(3+x)").body[0]
print st.value
print st.value.left
print st.value.right
Le problème est que je n'ai pas trouvé l'instruction pour recréer le membre de gauche et de droite. Avez-vous une solution ?

Merci d'avance,
Vincent

P.S : Je ne veux pas utiliser sympy car il effectue des simplifications au moment de la conversion.