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.

39 lines
1.1 KiB

class Expression :
def __init__ (self, valeur, gauche, droit):
"""Initialise la valeur de la racine (’+’, ’*’ ou un entier) et les fils gauche et
droit (qui seront soit None si la racine est un entier, soit des arbres) ;"""
self.valeur = valeur
self.gauche = gauche
self.droit = droit
def evalue (self) :
"""Renvoie la valeur de l’expression."""
if self.gauche is None and self.droit is None :
return self.valeur
if self.valeur == "+" :
return self.gauche.evalue() + self.droit.evalue()
elif self.valeur == "*":
return self.gauche.evalue() * self.droit.evalue()
def __str__ (self) :
"""Affiche l'expression"""
if self.gauche is None and self.droite is None :
return str(self.valeur)
exp = Expression('*',
Expression(6, None, None),
Expression('+',
Expression(4, None, None),
Expression(3, None, None)
)
)
exp.evalue()
def npi2tree (