Bonjour,
Le titre est un peu obscure comme ça, alors je m'explique.
L'utilisateur doit entrer une chaine de caractères à évaluer (fonction mathématique), par exemple :
x^2/abs(a)
Si j'évalue cette chaine (avec eval) j'obtiens naturellement une erreur, car 'x' et 'a' ne sont pas des noms définis.
J'aimerais pouvoir récupérer une liste des noms non-définis dans cette chaine (sous forme d'une liste par exemple), afin de pouvoir les définir moi-même (en faisant un dict : {'x':1.2, 'a':0.3} par exemple), pour pouvoir faire un eval ensuite...
J'entrevoie bien une méthode en exploitant le message d'erreur "name 'a' is not defined", mais ça me parrait pas très "élégant"
J'espère avoir été suffisamment clair...
Merci d'avance
Partager