Python | Simple GUI calculator using Tkinter (original) (raw)

from tkinter import *

expression = ""

def press(num):

`` global expression

`` expression = expression + str (num)

`` equation. set (expression)

def equalpress():

`` try :

`` global expression

`` total = str ( eval (expression))

`` equation. set (total)

`` expression = ""

`` except :

`` equation. set ( " error " )

`` expression = ""

def clear():

`` global expression

`` expression = ""

`` equation. set ("")

if __name__ = = "__main__" :

`` gui = Tk()

`` gui.configure(background = "light green" )

`` gui.title( "Simple Calculator" )

`` gui.geometry( "270x150" )

`` equation = StringVar()

`` expression_field = Entry(gui, textvariable = equation)

`` expression_field.grid(columnspan = 4 , ipadx = 70 )

`` button1 = Button(gui, text = ' 1 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 1 ), height = 1 , width = 7 )

`` button1.grid(row = 2 , column = 0 )

`` button2 = Button(gui, text = ' 2 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 2 ), height = 1 , width = 7 )

`` button2.grid(row = 2 , column = 1 )

`` button3 = Button(gui, text = ' 3 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 3 ), height = 1 , width = 7 )

`` button3.grid(row = 2 , column = 2 )

`` button4 = Button(gui, text = ' 4 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 4 ), height = 1 , width = 7 )

`` button4.grid(row = 3 , column = 0 )

`` button5 = Button(gui, text = ' 5 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 5 ), height = 1 , width = 7 )

`` button5.grid(row = 3 , column = 1 )

`` button6 = Button(gui, text = ' 6 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 6 ), height = 1 , width = 7 )

`` button6.grid(row = 3 , column = 2 )

`` button7 = Button(gui, text = ' 7 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 7 ), height = 1 , width = 7 )

`` button7.grid(row = 4 , column = 0 )

`` button8 = Button(gui, text = ' 8 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 8 ), height = 1 , width = 7 )

`` button8.grid(row = 4 , column = 1 )

`` button9 = Button(gui, text = ' 9 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 9 ), height = 1 , width = 7 )

`` button9.grid(row = 4 , column = 2 )

`` button0 = Button(gui, text = ' 0 ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( 0 ), height = 1 , width = 7 )

`` button0.grid(row = 5 , column = 0 )

`` plus = Button(gui, text = ' + ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( "+" ), height = 1 , width = 7 )

`` plus.grid(row = 2 , column = 3 )

`` minus = Button(gui, text = ' - ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( "-" ), height = 1 , width = 7 )

`` minus.grid(row = 3 , column = 3 )

`` multiply = Button(gui, text = ' * ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( "*" ), height = 1 , width = 7 )

`` multiply.grid(row = 4 , column = 3 )

`` divide = Button(gui, text = ' / ' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( "/" ), height = 1 , width = 7 )

`` divide.grid(row = 5 , column = 3 )

`` equal = Button(gui, text = ' = ' , fg = 'black' , bg = 'red' ,

`` command = equalpress, height = 1 , width = 7 )

`` equal.grid(row = 5 , column = 2 )

`` clear = Button(gui, text = 'Clear' , fg = 'black' , bg = 'red' ,

`` command = clear, height = 1 , width = 7 )

`` clear.grid(row = 5 , column = '1' )

`` Decimal = Button(gui, text = '.' , fg = 'black' , bg = 'red' ,

`` command = lambda : press( '.' ), height = 1 , width = 7 )

`` Decimal.grid(row = 6 , column = 0 )

`` gui.mainloop()