nsi:projets:expression_parser
Parseur d'expression arithmétique
On souhaite, une expression de calcul étant donnée dans une chaîne de caractère, pouvoir donner le résultat du calcul.
Exemple
Étant donné la chaîne "14 + 7 *(38 - 5)", on souhaite obtenir le résultat 245.
eval interdit !
Python dispose d'une fonction eval() qui permet de répondre au problème. Mais cette fonction est dangereuse car elle permet d'exécuter n'importe quel code qu'on lui fournirait. Elle ne se limite pas aux expressions arithmétiques. Pour cette raison, en général, on déconseille d'utiliser la fonction eval, elle est trop dangereuse.
Aller plus loin
- Un résultat approximatif sous forme d'un
floatme convient. Vous pouvez mieux faire en envisageant de gérer les nombres fractionnaires de façon à toujours donner un résultat exacte sous forme d'une fraction réduite. - Vous pouvez demander à votre parseur de reconnaître l'expression
pi. - Vous pouvez demander à votre parseur d'être capable de lire des nombres de type
floatsous divers format – par exemple1.5E-2.
nsi/projets/expression_parser.txt · Dernière modification : de goupillwiki
