commit 938ca1ed67e9f763c44f76ff52ef5d6a95f51d62 Author: alexi.forestier Date: Wed Jan 31 11:54:55 2024 +0100 méthode evalue fonctionnelle diff --git a/Calc.py b/Calc.py new file mode 100644 index 0000000..c3a711f --- /dev/null +++ b/Calc.py @@ -0,0 +1,63 @@ +from Pile import * + +class Expression: + def __init__(self, valeur, gauche, droit): + self.valeur = valeur + self.gauche = gauche + self.droit = droit + + def evalue(self): + if self.valeur == '+': + self.valeur = self.gauche.evalue() + self.droit.evalue() + if self.valeur == '*': + self.valeur = self.gauche.evalue() * self.droit.evalue() + return self.valeur + + def __str__(self): + pass + + + + + + +def dfs_in(a): + if a == None: + return + dfs_in(a.gauche) + print(a.valeur) + dfs_in(a.droit) + + + + +exp = Expression('*', +Expression(6, None, None), +Expression('+', +Expression(4, None, None), +Expression(3, None, None) +) +) + + + + + + + + + + + + + + + + + + + + + + +