Evaluation de chaine

Le
george
Bonjour,

Si je stocke dans a la chaine "x=3" (en faisant a="x=3") et qu'ensuite
je fais eval(a) afin de faire référencer l'entier 3 par x, j'obtiens une
erreur de syntaxe. Comment faire pour contourner ce problème ?

Merci.


George
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Benoit Izac
Le #26548999
Bonjour,
Le 13/06/2020 à 10:26, george message
Si je stocke dans a la chaine "x=3" (en faisant a="x=3") et qu'ensuite
je fais eval(a) afin de faire référencer l'entier 3 par x, j'obtiens
une erreur de syntaxe. Comment faire pour contourner ce problème ?

« x=3 » est une instruction, pas une expression. Il faut utiliser exec().
eval() évalue une expression, par exemple « eval('4+2+1') » renvoie
« 7 ».
--
Benoit Izac
george
Le #26549052
Le 13/06/2020 à 13:24, Benoit Izac a écrit :
Bonjour,
Le 13/06/2020 à 10:26, george message
Si je stocke dans a la chaine "x=3" (en faisant a="x=3") et qu'ensuite
je fais eval(a) afin de faire référencer l'entier 3 par x, j'obtiens
une erreur de syntaxe. Comment faire pour contourner ce problème ?

« x=3 » est une instruction, pas une expression. Il faut utiliser exec().
eval() évalue une expression, par exemple « eval('4+2+1') » renvoie
« 7 ».


Merci beaucoup Benoit Izac pour ta réponse. C'est exactement ce dont
j'avais besoin avec en prime l'explication.
Poster une réponse
Anonyme