Browse Source

suite

master
Laura 5 days ago
parent
commit
d78c167884
  1. 82
      calculette.py
  2. 10
      intergraph.py
  3. 0
      modules/calculette1.py

82
calculette.py

@ -1,82 +0,0 @@
from File import File_chaine as File
from Pile import Pile_chaine as Pile
class Expression:
"""Classe représentant une expression arithmétique"""
def __init__(self, valeur, gauche=None, droite=None):
self.valeur = valeur
self.gauche = gauche
self.droite = droite
def evalue(self):
"""Méthode permettant d'évaluer l'expression"""
if type(self.valeur) == int:
return self.valeur
if self.valeur == '+':
return self.gauche.evalue() + self.droite.evalue()
elif self.valeur == '*':
return self.gauche.evalue() * self.droite.evalue()
elif self.valeur == '/':
if self.droite.valeur == 0:
raise ValueError ("division par 0 impossible !! ")
return self.gauche.evalue() / self.droite.evalue()
elif self.valeur == '-':
return self.gauche.evalue() - self.droite.evalue()
def __str__(self):
"""Méthode permettant d'afficher l'expression"""
if type(self.valeur) == int:
return str(self.valeur)
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) + ")"
if self.valeur == '-':
return "("+ str (self.gauche) + "-" + str (self.droite) + ")"
def __repr__(self):
<<<<<<< HEAD
"""Méthode permettant d'afficher l'expression"""
=======
>>>>>>> 0fcf23e11827bd5ed1bb0b8128905b142750c2f0
return str(self)
if __name__ =="__main__":
e = Expression('*',Expression(6, None, None),Expression('+',Expression(4, None, None),Expression(3, None, None)))
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"""
exp = []
for ele in lst :
if ele in ["+","-","/","*"]:
ex = Expression(ele, exp.pop(), exp.pop())
exp.append(ex)
else:
exp.append(int(ele))
return exp.pop()
<<<<<<< HEAD
class Calculette:
"""Classe représentant une calculette"""
def __init__(self):
pass
def calculer(self, expression):
"""Méthode permettant de calculer une expression"""
try:
return eval(expression)
except Exception as e:
return str(e)
=======
>>>>>>> 0fcf23e11827bd5ed1bb0b8128905b142750c2f0
if __name__ == "__main__":
npi2tree(["3","4","+","6","*"])

10
intergraph.py

@ -1,5 +1,4 @@
from tkinter import *
<<<<<<< HEAD
from modules.calculette import Calculette
@ -25,7 +24,7 @@ fenetre.title("Calculatrice")
calculatrice = Calculette()
calcLabel = Label(fenetre, text="Saisir le calcul")
=======
from calculette import *
@ -33,12 +32,11 @@ fenetre=Tk()
fenetre.title("Calculatrice")
calcLabel = Label(fenetre, text="saisir le calcul")
>>>>>>> 0fcf23e11827bd5ed1bb0b8128905b142750c2f0
calcLabel.pack()
calc = StringVar()
calc.set("")
<<<<<<< HEAD
saisie = Entry(fenetre, textvariable=calc, width=40)
saisie.pack()
@ -64,7 +62,7 @@ result_label = Label(fenetre, text="")
result_label.pack()
fenetre.mainloop()
=======
saisie = Entry(fenetre, textvariable=calc, width=10)
saisie.pack()
@ -73,4 +71,4 @@ bouton1.pack()
fenetre.mainloop()
>>>>>>> 0fcf23e11827bd5ed1bb0b8128905b142750c2f0

0
modules/calculette.py → modules/calculette1.py

Loading…
Cancel
Save