from Tkinter import * def q(e): v=s.get() if v:s.delete(0,END);s.insert(0,eval(v)) t=Tk() s=Entry(t) s.grid(columnspan=4) for i,o in enumerate(Button(t,text=o)for o in"789/456*123-0.=+"):o.bind("<1>",{"=":q}.get(o["text"],lambda e:s.insert("end",e.widget["text"])));o.grid(column=i%4,row=1+i/4) t.mainloop()