From 6e63fb9952254a39381cd5fb76b1e42dc3dd0daa Mon Sep 17 00:00:00 2001 From: nommme Date: Mon, 27 Jan 2025 11:26:29 +0100 Subject: [PATCH] calculatrice_YacobMassiAyoub.py --- calculatrice_YacobMassiAyoub.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 calculatrice_YacobMassiAyoub.py diff --git a/calculatrice_YacobMassiAyoub.py b/calculatrice_YacobMassiAyoub.py new file mode 100644 index 0000000..dd5c49d --- /dev/null +++ b/calculatrice_YacobMassiAyoub.py @@ -0,0 +1,30 @@ +#Projet de Massinissa Brahimi, Yacob Sadik, Ayoub El Hajam + +from Pile import Pile_lst +from math import * +from tkinter import * + +class Expression : + def __init__(self, valeur, fils_droit, fils_gauche): + self.valeur = valeur + self.fils_droit = fils_droit + self.fils_gauche = fils_gauche + + def evalue(self): + if self.valeur == 0 and fils_droit == None and fils_gauche == None: + return 0 + elif self.valeur == "*": + return self.evalue(fils_gauche) * self.evalue(fils_droit) + elif self.valeur == "+": + return self.fils_gauche.evalue() + self.fils_droit.evalue() + elif self.valeur == "-": + return self.fils_gauche.evalue() - self.fils_droit.evalue() + elif self.valeur == "/": + return self.fils_gauche.evalue() / self.fils_droit.evalue() + elif self.valeur == "//": + return self.fils_gauche.evalue() // self.fils_droit.evalue() + else: + return self.valeur + +f = Expression("*", 4, 6) +f.evalue() \ No newline at end of file