|
|
@ -1,11 +1,8 @@ |
|
|
|
#Projet de Massinissa Brahimi, Yacob Sadik, Ayoub El Hajam |
|
|
|
|
|
|
|
from Pile import Pile_lst |
|
|
|
from math import * |
|
|
|
from tkinter import * |
|
|
|
|
|
|
|
class Expression : |
|
|
|
def __init__(self, valeur, fils_droit, fils_gauche): |
|
|
|
def __init__(self, valeur, fils_gauche, fils_droit): |
|
|
|
self.valeur = valeur |
|
|
|
self.fils_droit = fils_droit |
|
|
|
self.fils_gauche = fils_gauche |
|
|
@ -14,17 +11,46 @@ class Expression : |
|
|
|
if self.valeur == 0 and fils_droit == None and fils_gauche == None: |
|
|
|
return 0 |
|
|
|
elif self.valeur == "*": |
|
|
|
return self.evalue(fils_gauche) * self.evalue(fils_droit) |
|
|
|
return self.fils_gauche * self.fils_droit |
|
|
|
elif self.valeur == "+": |
|
|
|
return self.fils_gauche.evalue() + self.fils_droit.evalue() |
|
|
|
return self.fils_gauche() + self.fils_droit |
|
|
|
elif self.valeur == "-": |
|
|
|
return self.fils_gauche.evalue() - self.fils_droit.evalue() |
|
|
|
return self.fils_gauche - self.fils_droit |
|
|
|
elif self.valeur == "/": |
|
|
|
return self.fils_gauche.evalue() / self.fils_droit.evalue() |
|
|
|
return self.fils_gauche/ self.fils_droit |
|
|
|
elif self.valeur == "//": |
|
|
|
return self.fils_gauche.evalue() // self.fils_droit.evalue() |
|
|
|
return self.fils_gauche // self.fils_droit |
|
|
|
else: |
|
|
|
return self.valeur |
|
|
|
|
|
|
|
f = Expression("*", 4, 6) |
|
|
|
f.evalue() |
|
|
|
def __str__(self): |
|
|
|
"""Ayoub : je galère à la faire faut la finir""" |
|
|
|
return self.fils_gauche , self.valeur, self.fils_droit |
|
|
|
|
|
|
|
def npi2tree(self, lst): |
|
|
|
return lst |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fenetre = Tk() |
|
|
|
fenetre.configure(bg="#16c6e5") |
|
|
|
fenetre.title("Calculatrice") |
|
|
|
|
|
|
|
expression = Label(fenetre, text="Expression:", padx=40, pady=20) |
|
|
|
expression.pack() |
|
|
|
expression.configure(bg="#16c6e5") |
|
|
|
|
|
|
|
entrée = Entry(fenetre) |
|
|
|
entrée.pack() |
|
|
|
|
|
|
|
bouton_calculer = Button(fenetre, text="Calculer") |
|
|
|
bouton_calculer.configure(bg ="#e1451f") |
|
|
|
bouton_calculer.pack() |
|
|
|
|
|
|
|
resultat = StringVar() |
|
|
|
resultat = Label(fenetre, textvariable=resultat, padx=40,) |
|
|
|
resultat.configure(bg="#16c6e5") |
|
|
|
resultat.pack() |
|
|
|
|
|
|
|
fenetre.mainloop() |
|
|
|