Browse Source

modifs

master
trystan deneuve 4 weeks ago
parent
commit
0a4023e8ef
  1. 39
      calculette.py

39
calculette.py

@ -4,7 +4,6 @@ from Pile import Pile_chaine as Pile
class Expression: class Expression:
def __init__(self, valeur, gauche=None, droite=None): def __init__(self, valeur, gauche=None, droite=None):
self.valeur = valeur self.valeur = valeur
self.gauche = gauche self.gauche = gauche
self.droite = droite self.droite = droite
@ -18,13 +17,25 @@ class Expression:
return self.gauche.evalue() + self.droite.evalue() return self.gauche.evalue() + self.droite.evalue()
if self.valeur == '*': if self.valeur == '*':
return self.gauche.evalue() * self.droite.evalue() return self.gauche.evalue() * self.droite.evalue()
if self.valeur == '/':
return self.gauche.evalue() / self.droite.evalue()
if self.valeur == '-':
return self.gauche.evalue() - self.droite.evalue()
def __str__(self): def __str__(self):
if type(self.valeur) == int: if type(self.valeur) == int:
return str(self.valeur) return str(self.valeur)
else : if self.valeur == '+':
return "({str(self.gauche)} {self.valeur} {str(self.droite)})" return "("+ str (self.gauche) + "+" + str (self.droite) + ")"
if self.valeur == '*':
return "("+ str (self.gauche) + "*" + str (self.droite) + ")"
if self.valeur == '/':
return "("+ str (self.gauche) + "/" + str (self.droite) + ")"
if self.valeur == '-':
return "("+ str (self.gauche) + "-" + str (self.droite) + ")"
<<<<<<< HEAD
# class Conversion: # class Conversion:
# lst = [self.valeur,self.gauche, self.droite] # lst = [self.valeur,self.gauche, self.droite]
# def npi2tree (lst): # def npi2tree (lst):
@ -38,6 +49,28 @@ class Expression:
# for i in lst (): # for i in lst ():
=======
if __name__ =="__main__":
e = Expression('*',
Expression(6, None, None),
Expression('+',
Expression(4, None, None),
Expression(3, None, None)
)
)
class Conversion:
lst = [self.valeur,self.gauche, self.droite]
def npi2tree (lst):
"""fonction npi2tree prenant en paramètre une liste correspondant à l’expression en notation
polonaise inversée et renvoyant larbre (de type Expression) correspondant"""
p = Pile(lst)
for i in lst ():
>>>>>>> 8b723c77703eb3cfad29b15dc55e72efae56af2a
# if + or * : # if + or * :

Loading…
Cancel
Save