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.
33 lines
774 B
33 lines
774 B
8 months ago
|
from Pile import Pile_chaine
|
||
|
|
||
|
class Expression:
|
||
|
def __init__(self, valeur, gauche, droit):
|
||
|
self.valeur = valeur
|
||
|
self.gauche = gauche
|
||
|
self.droit = droit
|
||
|
|
||
|
def evalue(self):
|
||
|
if self == None:
|
||
|
return
|
||
|
if self.gauche != None:
|
||
|
self.gauche.evalue()
|
||
|
if self.droit != None:
|
||
|
self.droit.evalue()
|
||
|
if self.valeur == "+":
|
||
|
self.valeur = self.gauche.valeur + self.droit.valeur
|
||
|
if self.valeur == "*":
|
||
|
self.valeur = self.gauche.valeur * self.droit.valeur
|
||
|
|
||
|
def __str__(self):
|
||
|
pass
|
||
|
|
||
|
exp = Expression('*',
|
||
|
Expression(6, None, None),
|
||
|
Expression('+',
|
||
|
Expression(4, None, None),
|
||
|
Expression(3, None, None)
|
||
|
)
|
||
|
)
|
||
|
|
||
|
exp.evalue()
|
||
|
print(exp.valeur)
|