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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benoit Izac
Bonjour, Le 13/06/2020 à 10:26, george a écrit dans le message <5ee48d9e$0$24264$ :
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
Bonjour,
Le 13/06/2020 à 10:26, george <george@invalid.invalid> a écrit dans le
message <5ee48d9e$0$24264$426a74cc@news.free.fr> :
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 ».
Bonjour, Le 13/06/2020 à 10:26, george a écrit dans le message <5ee48d9e$0$24264$ :
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 13/06/2020 à 13:24, Benoit Izac a écrit :
Bonjour, Le 13/06/2020 à 10:26, george a écrit dans le message <5ee48d9e$0$24264$ :
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.
Le 13/06/2020 à 13:24, Benoit Izac a écrit :
Bonjour,
Le 13/06/2020 à 10:26, george <george@invalid.invalid> a écrit dans le
message <5ee48d9e$0$24264$426a74cc@news.free.fr> :
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.
Bonjour, Le 13/06/2020 à 10:26, george a écrit dans le message <5ee48d9e$0$24264$ :
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.