Browse Source

npi2tree fini

master
manon 1 month ago
parent
commit
1519618290
  1. 17
      oui.py

17
oui.py

@ -41,6 +41,23 @@ class Expression:
result += str(self.gauche) result += str(self.gauche)
return result return result
def npi2tree(liste_npi):
"""Convertit une liste représentant une expression en notation polonaise inversée en un arbre d'expression."""
pille = []
for element in liste_npi:
# Si c'est un opérateur (+, -, * ou /), on crée un nœud opérateur
if element in ('+', '-', '*', '/'):
droit = pille.pop()
gauche = pille.pop()
pille.append(Expression(element, gauche, droit)) # Créer un nouvel arbre et empiler
else:
# Sinon, ça veut dire que c'est un nombre donc on le convertit et on l'empile.
pille.append(Expression(int(element), None, None))
return pille[0] # Retourne l'arbre complet
#test: #test:

Loading…
Cancel
Save