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
30 lines
1.0 KiB
4 weeks ago
|
#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()
|