Back to Top

une Calculatrice simple avec python🧮


bonjour, ici nous vous présentons le code source de la calculatrice codé en challenge du week-end.



 from tkinter import *

import math, os


class calco(LabelFrame):

    def __init__(self, width = 200, height = 400, color = 'dark blue'):

        LabelFrame.__init__(self, bg= color, width = width, height = height, relief = FLAT, bd = 5)

        self.width, self.height, self.color = width, height, color

        self.lab = Label(self, text = 'python Lite Calco',relief='ridge',font=("verdana",10,"bold",'italic'), bg = '#ffffaa',fg = 'dark blue')

        self.configure(labelwidget = self.lab, labelanchor = 'nw')


        #creation des etiquettes des buttons

        self.label = [1,2,3,'CE',4,5,6,'+',7,8,9,'-',0,'.','/','*','(',')','del','=']

        self.buttons , self.r, self.c = [], 2, 0

        self.valeur = []

        self.entryVar, self.outVar = StringVar(), StringVar()


        #creation des ecrans

        self.screen1 = Label(self, textvariable = self.entryVar, font=("verdana",10,"bold"), anchor = 'w', bd = 0, width = 20)

        self.screen2 = Label(self, textvariable = self.outVar, font=("verdana",10,"bold"), anchor = 'e', bd = 0, width = 20)

        self.screen1.grid(column = 0, row = 0, columnspan = 4, sticky = 'wens')

        self.screen2.grid(column = 0, row = 1, columnspan = 4, sticky = 'wens')


        #creation des buttons

        for i in range(len(self.label)):

            self.buttons.append(Button(self, text = str(self.label[i]), relief = RIDGE,font=("verdana",10,"bold"),fg = 'dark blue',

                                       command = lambda a = i : self.add(a), overrelief = 'sunken', bg = '#ffffaa'))

            self.buttons[i].grid(column = self.c, row = self.r, sticky = 'wens', padx = 1, pady = 1)

            if self.label[i]=='=':

                self.buttons[i].config(command = self.egal)

            elif self.label[i] =='del':

                self.buttons[i].config(command = self.delete)

            elif self.label[i] =='CE':

                self.buttons[i].config(command = self.reset)

            self.c+=1

            if self.c==4:

                self.c=0

                self.r+=1

        self.pack()


    #creation des fonctions 

    def add(self, arg):

        self.valeur.append(str(self.label[arg]))

        self.entryVar.set(''.join(self.valeur))

        

    def delete(self):

        del self.valeur[-1]

        self.entryVar.set(''.join(self.valeur))

        

    def egal(self):

        self.outVar.set(eval(self.entryVar.get()))

        

    def reset(self):

        self.outVar.set('')

        self.entryVar.set('')

        self.valeur = []

        

if __name__=="__main__":

    calco().mainloop()

        


0Comments

Enregistrer un commentaire