diff --git a/oui.py b/oui.py index b37d3e7..7fecce1 100644 --- a/oui.py +++ b/oui.py @@ -24,7 +24,8 @@ class Expression: droite_val = self.droit.evalue() else: droite_val = 0 - + + #Les opérations possibles : addition, soustraction, mutliplication, division, puissance. if self.val_racine == '+': return gauche_val + droite_val elif self.val_racine == '-': @@ -33,6 +34,8 @@ class Expression: return gauche_val * droite_val elif self.val_racine == '/': return gauche_val / droite_val + elif self.val_racine == '^': + return gauche_val ** droite_val else : raise ValueError ("Cette commande ne peut pas être effectuer") @@ -51,7 +54,7 @@ class Expression: pille = Pile () for element in lst: # Si c'est un opérateur (+, -, * ou /), on crée un nœud opérateur - if element in ('+', '-', '*', '/'): + if element in ('+', '-', '*', '/','^'): droit = pille.depiler() gauche = pille.depiler() pille.empiler(Expression(element, gauche, droit)) # Créer un nouvel arbre et empiler