import tkinter
from tkinter import *
me=Tk()
me.geometry("354x460")
me.title("CALCULATOR")
me.config(background='Dark gray')

textin=StringVar()
operator=""

def clickbut(number):  
     global operator
     l=len(operator)
     if(l>1 and ( number in ['+','/','-','*'])):
          if(operator[l-1] in ['+','/','-','*'] ):
               operator=operator[:l-1]
     if(l==0 and ( number in ['+','/','-','*'])):
               operator="0"+str(number)
     else:
          operator=operator+str(number)
     textin.set(operator)

def equlbut():
     global operator
     l=len(operator)
     if(operator[l-1] in ['+','/','-','*'] ):
          operator=operator[:l-1]
     add=str(eval(operator))
     textin.set(add)
     operator=''

def clrbut():
     global operator
     operator=""
     textin.set('')
def clrbut1():
     global operator
     l=len(operator)
     operator=operator[:l-1]
     textin.set(operator)

     
metext=Entry(me,font=("Courier New",12,'bold'),textvar=textin,width=31,bd=5,bg='powder blue')
metext.place(x=15,y=50)

but1=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(1),text="1",font=("Courier New",16,'bold'))
but1.place(x=10,y=100)

but2=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(2),text="2",font=("Courier New",16,'bold'))
but2.place(x=10,y=170)

but3=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(3),text="3",font=("Courier New",16,'bold'))
but3.place(x=10,y=240)

but4=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(4),text="4",font=("Courier New",16,'bold'))
but4.place(x=75,y=100)

but5=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(5),text="5",font=("Courier New",16,'bold'))
but5.place(x=75,y=170)

but6=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(6),text="6",font=("Courier New",16,'bold'))
but6.place(x=75,y=240)

but7=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(7),text="7",font=("Courier New",16,'bold'))
but7.place(x=140,y=100)

but8=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(8),text="8",font=("Courier New",16,'bold'))
but8.place(x=140,y=170)

but9=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(9),text="9",font=("Courier New",16,'bold'))
but9.place(x=140,y=240)

but0=Button(me,padx=14,pady=14,bd=4,bg='white',command=lambda:clickbut(0),text="0",font=("Courier New",16,'bold'))
but0.place(x=10,y=310)

butdot=Button(me,padx=47,pady=14,bd=4,bg='white',command=lambda:clickbut("."),text=".",font=("Courier New",16,'bold'))
butdot.place(x=75,y=310)

butpl=Button(me,padx=14,pady=14,bd=4,bg='white',text="+",command=lambda:clickbut("+"),font=("Courier New",16,'bold'))
butpl.place(x=205,y=100)

butsub=Button(me,padx=14,pady=14,bd=4,bg='white',text="-",command=lambda:clickbut("-"),font=("Courier New",16,'bold'))
butsub.place(x=205,y=170)

butml=Button(me,padx=14,pady=14,bd=4,bg='white',text="*",command=lambda:clickbut("*"),font=("Courier New",16,'bold'))
butml.place(x=205,y=240)

butdiv=Button(me,padx=14,pady=14,bd=4,bg='white',text="/",command=lambda:clickbut("/"),font=("Courier New",16,'bold'))
butdiv.place(x=205,y=310)

icon=tkinter.PhotoImage(file="E:\icons8-clear-symbol-60.png")

butclear=Button(me,padx=14,pady=83,bd=4,bg='white',text="CE",command=clrbut,font=("Courier New",16,'bold'))
butclear.place(x=270,y=170)

butclear=Button(me,padx=15,pady=14,bd=4,bg='white',image=icon,command=clrbut1,font=("Courier New",16,'bold'))
butclear.place(x=270,y=100)

butequal=Button(me,padx=151,pady=14,bd=4,bg='white',command=equlbut,text="=",font=("Courier New",16,'bold'))
butequal.place(x=10,y=380)
me.mainloop()
