You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
1.0 KiB

#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()