Browse Source

suite5

master
trystan deneuve 3 weeks ago
parent
commit
60b48962ea
  1. 38
      calculette.py
  2. 37
      intergraph.py

38
calculette.py

@ -15,11 +15,13 @@ class Expression:
if self.valeur == '+': if self.valeur == '+':
return self.gauche.evalue() + self.droite.evalue() return self.gauche.evalue() + self.droite.evalue()
if self.valeur == '*': elif self.valeur == '*':
return self.gauche.evalue() * self.droite.evalue() return self.gauche.evalue() * self.droite.evalue()
if self.valeur == '/': elif self.valeur == '/':
if self.droite.valeur == 0:
raise ValueError ("division par 0 impossible !! ")
return self.gauche.evalue() / self.droite.evalue() return self.gauche.evalue() / self.droite.evalue()
if self.valeur == '-': elif self.valeur == '-':
return self.gauche.evalue() - self.droite.evalue() return self.gauche.evalue() - self.droite.evalue()
@ -35,30 +37,24 @@ class Expression:
if self.valeur == '-': if self.valeur == '-':
return "("+ str (self.gauche) + "-" + str (self.droite) + ")" return "("+ str (self.gauche) + "-" + str (self.droite) + ")"
def __repr__(self):
if __name__ =="__main__": return str(self)
e = Expression('*',
Expression(6, None, None),
Expression('+',
Expression(4, None, None),
Expression(3, None, None)
)
)
if __name__ =="__main__":
e = Expression('*',Expression(6, None, None),Expression('+',Expression(4, None, None),Expression(3, None, None)))
class Conversion:
def npi2tree(lst): def npi2tree(lst):
"""fonction npi2tree prenant en paramètre une liste correspondant l’expression en notation """fonction npi2tree prenant en paramètre une liste correspondant l’expression en notation
polonaise inversée et renvoyant larbre (de type Expression) correspondant""" polonaise inversée et renvoyant larbre (de type Expression) correspondant"""
p = Pile(Expression) exp = []
lst = []
for ele in lst : for ele in lst :
if ele == '+' or ele == '*': if ele in ["+","-","/","*"]:
exp = Expression(ele, Expression()) ex = Expression(ele, exp.pop(), exp.pop())
p.empiler(exp) exp.append(ex)
else: else:
p.empiler ... exp.append(int(ele))
return exp return exp.pop()
if __name__ == "__main__":
npi2tree(["3","4","+","6","*"])

37
intergraph.py

@ -1,39 +1,48 @@
from tkinter import * from tkinter import *
fenetre = Tk()
label = Label(fenetre, text="Calculatrice")
label.grid(row=0, column=0)
# Creating the buttons fenetre = Tk()
bouton1 = Button(fenetre, text="1") bouton1 = Button(fenetre, text="1")
bouton1.grid(row=1, column=0) bouton1.grid(row=2, column=0)
bouton2 = Button(fenetre, text="2") bouton2 = Button(fenetre, text="2")
bouton2.grid(row=1, column=1) bouton2.grid(row=2, column=1)
bouton3 = Button(fenetre, text="3") bouton3 = Button(fenetre, text="3")
bouton3.grid(row=1, column=2) bouton3.grid(row=2, column=2)
bouton4 = Button(fenetre, text="4") bouton4 = Button(fenetre, text="4")
bouton4.grid(row=2, column=0) bouton4.grid(row=1, column=0)
bouton5 = Button(fenetre, text="5") bouton5 = Button(fenetre, text="5")
bouton5.grid(row=2, column=1) bouton5.grid(row=1, column=1)
bouton6 = Button(fenetre, text="6") bouton6 = Button(fenetre, text="6")
bouton6.grid(row=2, column=2) bouton6.grid(row=1, column=2)
bouton7 = Button(fenetre, text="7") bouton7 = Button(fenetre, text="7")
bouton7.grid(row=3, column=0) bouton7.grid(row=0, column=0)
bouton8 = Button(fenetre, text="8") bouton8 = Button(fenetre, text="8")
bouton8.grid(row=3, column=1) bouton8.grid(row=0, column=1)
bouton9 = Button(fenetre, text="9") bouton9 = Button(fenetre, text="9")
bouton9.grid(row=3, column=2) bouton9.grid(row=0, column=2)
bouton0 = Button(fenetre, text="0") bouton0 = Button(fenetre, text="0")
bouton0.grid(row=4, column=1) bouton0.grid(row=3, column=1)
boutonadd = Button(fenetre, text="+")
boutonadd.grid(row=0, column=3)
boutonmultiplie = Button(fenetre, text="*")
boutonmultiplie.grid(row=2, column=3)
boutonminus = Button(fenetre, text="-")
boutonminus.grid(row=1, column=3)
boutondivide = Button(fenetre, text="/")
boutondivide.grid(row=3, column=3)
fenetre.mainloop() fenetre.mainloop()
Loading…
Cancel
Save