Compare commits

...

2 Commits

Author SHA1 Message Date
enora.delmas 0454c34a71 - 3 months ago
enora.delmas 4afa50a4a1 _ 3 months ago
  1. 9
      calculatrice.py
  2. 22
      expression.py

9
calculatrice.py

@ -6,8 +6,13 @@ class Fenetre(tk.Tk):
tk.Tk.__init__(self)
self.title("Calculatrice")
self.geometry("400x600")
self.configure(bg='white')
self.configure(bg='pink')
tk.Canvas(self, width=350, height=175, bg='ivory').pack(side=TOP, padx=5, pady=25)
self.frame = tk.Frame(self, bg='pink')
self.entree = tk.Entry(self.frame, width=30)
self.entree.pack(side=TOP, anchor='n', padx = 5, pady = 100)
self.bouton = tk.Button(self.frame, text="Calculer", bg='white').pack(anchor = 's', padx = 100, pady = 10)
self.frame.pack(padx = 5, pady =40)
window = Fenetre()
window.mainloop()

22
expression.py

@ -1,4 +1,5 @@
from Pile import Pile_chaine as Pile
import math
class Expression:
"permet de représenter et manipuler une expression arithmpétique sous forme d'un arbre"
@ -15,11 +16,18 @@ class Expression:
return self.gauche.evalue() * self.droit.evalue()
if self.racine == '+':
return self.gauche.evalue() + self.droit.evalue()
if self.racine == '-':
return self.gauche.evalue() - self.droit.evalue()
if self.racine == '/':
return self.gauche.evalue() / self.droit.evalue()
def racine_carre(self):
return math.sqrt(self.racine)
def __str__(self):
"affiche l'expression"
exp = ""
if self.racine != '*' or self.racine != '+':
if self.racine != '*' or self.racine != '+' or self.racine != '-' or self.racine != '/':
if self.gauche != None:
exp = "(" + exp + str(self.gauche)
exp = exp + str(self.racine)
@ -31,7 +39,7 @@ class Expression:
def npi2tree(lst):
p = Pile()
for elem in lst:
if elem == '+' or elem =='*':
if elem == '+' or elem =='*' or elem == '-' or elem == '/':
racine = elem
fils_d = p.depiler()
fils_g = p.depiler()
@ -45,10 +53,12 @@ def npi2tree(lst):
if __name__ == "__main__":
exp = Expression('*',
Expression('+',
Expression(4, None, None),
Expression('/',
Expression(1.5, None, None),
Expression(3, None, None)),
Expression(6, None, None))
Expression(6.5, None, None))
print(exp.evalue())
print(exp)
print(npi2tree(["6", "4", "3", "+", "*"]))
e = npi2tree(["6", "4", "3", "+", "-"])
print(e.evalue())

Loading…
Cancel
Save