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.
|
|
|
# BELLYNCK Manon
|
|
|
|
# GUILLAUMIN-TORRES Ambre
|
|
|
|
# COVIN Clara
|
|
|
|
|
|
|
|
class Expression :
|
|
|
|
|
|
|
|
def __init__ (valeur_racine, fils_gauche, fils_droit):
|
|
|
|
self.valeur = valeur_racine
|
|
|
|
self.gauche = fils_gauche
|
|
|
|
self.droit = fils_droit
|
|
|
|
|
|
|
|
def évalue (self):
|
|
|
|
if self.valeur == '*':
|
|
|
|
return multiplication(valeur.gauche, valeur.droit)
|
|
|
|
|
|
|
|
elif self.valeur == '+':
|
|
|
|
return addition(valeur.gauche, valeur.droit)
|
|
|
|
|
|
|
|
def parcours_dfs_infixe(a):
|
|
|
|
"""Affiche tous les nœuds de l'arbre a par un parcours DFS préfixé."""
|
|
|
|
if a is None:
|
|
|
|
return
|
|
|
|
parcours_dfs_infixe(a.gauche)
|
|
|
|
print(a.valeur)
|
|
|
|
parcours_dfs_infixe(a.droit)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def __str__ (self): #affichage en dfs infixe
|
|
|
|
for val in self.__file:
|
|
|
|
s = str(val)
|
|
|
|
return s
|
|
|
|
|
|
|
|
|
|
|
|
def multiplication (valeur.gauche, valeur.droit):
|
|
|
|
if valeur.gauche == int and valeur.droit == int :
|
|
|
|
return valeur.gauche * valeur.droit
|
|
|
|
|
|
|
|
|
|
|
|
def addition (valeur.gauche, valeur.droit):
|
|
|
|
if valeur.gauche == int and valeur.droit == int :
|
|
|
|
return valeur.gauche + valeur.droit
|
|
|
|
|
|
|
|
|
|
|
|
|