Calculator using python tkinter

You can use the function to evaluate mathematical expressions entered by the user. You can also use Tkinter buttons and entry widgets to create a simple calculator interface.    


import tkinter

from tkinter import *


root=Tk()

root.title("Simple Calculator")

root.geometry("570x600+100+100")

root.resizable(False,False)

root.configure(bg="#17161b")


equation = ""


def show(value):

    global equation

    equation+=value

    label_result.config(text=equation)


def clear():

    global equation

    equation = ""

    label_result.config(text=equation)


def calculation():

    global equation

    result = ""

    if equation !="":

        try:

            result = eval(equation)

        except:

            result = "error"

            equation = ""

    label_result.config(text=result)




label_result=Label(root, width=25, height=2, text=" ", font=("arial",30))

label_result.pack()


Button(root, text="C", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#3697f5",command=lambda: clear()).place(x=10,y=100)

Button(root, text="/", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("/")).place(x=150,y=100)

Button(root, text="%", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("%")).place(x=290,y=100)

Button(root, text="*", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("*")).place(x=430,y=100)


Button(root, text="7", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("7")).place(x=10,y=200)

Button(root, text="8", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("8")).place(x=150,y=200)

Button(root, text="9", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("9")).place(x=290,y=200)

Button(root, text="-", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("-")).place(x=430,y=200)


Button(root, text="4", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("4")).place(x=10,y=300)

Button(root, text="5", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("5")).place(x=150,y=300)

Button(root, text="6", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("6")).place(x=290,y=300)

Button(root, text="+", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("+")).place(x=430,y=300)


Button(root, text="1", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("1")).place(x=10,y=400)

Button(root, text="2", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("2")).place(x=150,y=400)

Button(root, text="3", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("3")).place(x=290,y=400)

Button(root, text="0", width=11, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show("0")).place(x=10,y=500)


Button(root, text=".", width=5, height=1, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#2a2d36",command=lambda: show(".")).place(x=290,y=500)

Button(root, text="=", width=5, height=3, font=("arial",30,"bold"), bd=1,fg="#fff", bg="#fe9037",command=lambda: calculation()).place(x=430,y=400)


root.mainloop() 






Comments