from tkinter import *
window = Tk()
window.title("Digital Keyboard")
window.geometry("400x500-200+100")
display = StringVar()
display.set("0")
def calculate():
try:
result = str(eval(display.get()))
if (float(result)-int(result))==0:
result=int(result)
else:
None
display.set(result)
except:
display.set("ERROR")
def add_to_display(value):
current_display = display.get()
if current_display == "0":
current_display = ""
display.set(current_display + value)
def clear_display():
display.set("0")
# Create the display label
display_label = Label(window, textvariable=display, font=("Monaco", 26, "bold"), bg="#ccddee", justify=RIGHT, anchor=E)
display_label.grid(row=0, column=0, columnspan=4, sticky=EW)
# Create the number and operator buttons
btn_1 = Button(window, text="1", font=("Monaco", 30, "bold"), command=lambda: add_to_display("1"))
btn_1.grid(row=3, column=0, sticky=NSEW)
btn_2 = Button(window, text="2", font=("Monaco", 30, "bold"), command=lambda: add_to_display("2"))
btn_2.grid(row=3, column=1, sticky=NSEW)
btn_3 = Button(window, text="3", font=("Monaco", 30, "bold"), command=lambda: add_to_display("3"))
btn_3.grid(row=3, column=2, sticky=NSEW)
btn_4 = Button(window, text="4", font=("Monaco", 30, "bold"), command=lambda: add_to_display("4"))
btn_4.grid(row=2, column=0, sticky=NSEW)
btn_5 = Button(window, text="5", font=("Monaco", 30, "bold"), command=lambda: add_to_display("5"))
btn_5.grid(row=2, column=1, sticky=NSEW)
btn_6 = Button(window, text="6", font=("Monaco", 30, "bold"), command=lambda: add_to_display("6"))
btn_6.grid(row=2, column=2, sticky=NSEW)
btn_7 = Button(window, text="7", font=("Monaco", 30, "bold"), command=lambda: add_to_display("7"))
btn_7.grid(row=1, column=0, sticky=NSEW)
btn_8 = Button(window, text="8", font=("Monaco", 30, "bold"), command=lambda: add_to_display("8"))
btn_8.grid(row=1, column=1, sticky=NSEW)
btn_9 = Button(window, text="9", font=("Monaco", 30, "bold"), command=lambda: add_to_display("9"))
btn_9.grid(row=1, column=2, sticky=NSEW)
btn_0 = Button(window, text="0", font=("Monaco", 30, "bold"), command=lambda: add_to_display("0"))
btn_0.grid(row=4, column=0, sticky=NSEW)
btn_dot = Button(window, text=".", font=("Monaco", 30, "bold"), command=lambda: add_to_display("."))
btn_dot.grid(row=4, column=1, sticky=NSEW)
btn_divide = Button(window, text="/", font=("Monaco", 30, "bold"), command=lambda: add_to_display("/"))
btn_divide.grid(row=1, column=3, sticky=NSEW)
btn_mul = Button(window, text="*", font=("Monaco", 30, "bold"), command=lambda: add_to_display("*"))
btn_mul.grid(row=2, column=3, sticky=NSEW)
btn_minus = Button(window, text="-", font=("Monaco", 30, "bold"), command=lambda: add_to_display("-"))
btn_minus.grid(row=3, column=3, sticky=NSEW)
btn_plus = Button(window, text="+", font=("Monaco", 30, "bold"), command=lambda: add_to_display("+"))
btn_plus.grid(row=4, column=3, sticky=NSEW)
btn_equal = Button(window, text="=", font=("Monaco", 30, "bold"), command=lambda:calculate())
btn_equal.grid(row=4, column=2, sticky=NSEW)
clear = Button(window, text="clear", font=("Monaco", 30, "bold"), command=lambda:clear_display())
clear.grid(row=5, column=0, columnspan=4, sticky=NSEW)
window.mainloop()
if (float(result)-int(result))==0:
result=int(result)
else:
None
display.set(result)

from tkinter import *
def calculatorid():
wddwdwwdwdwdwdwdwdwd = Tk()
wddwdwwdwdwdwdwdwdwd.title("Digital Keyboard")
wddwdwwdwdwdwdwdwdwd.geometry("400x500-200+100")
displayyyy = StringVar()
displayyyy.set("0")
def calllllllllll():
try:
result = str(eval(displayyyy.get()))
if (float(result)-int(result))==0:
result=int(result)
else:
None
displayyyy.set(result)
except:
displayyyy.set("ERROR")
def add_to_displayyyy(value):
current_displayyyy = displayyyy.get()
if current_displayyyy == "0":
current_displayyyy = ""
displayyyy.set(current_displayyyy + value)
def clear_displayyyy():
displayyyy.set("0")
# Create the displayyyy label
displayyyy_label = Label(wddwdwwdwdwdwdwdwdwd, textvariable=displayyyy, font=("Monaco", 26, "bold"), bg="#ccddee", justify=RIGHT, anchor=E)
displayyyy_label.grid(row=0, column=0, columnspan=4, sticky=EW)
# Create the number and operator buttons
btnnnnnnnnnnn_1 = Button(wddwdwwdwdwdwdwdwdwd, text="1", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("1"))
btnnnnnnnnnnn_1.grid(row=3, column=0, sticky=NSEW)
btnnnnnnnnnnn_2 = Button(wddwdwwdwdwdwdwdwdwd, text="2", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("2"))
btnnnnnnnnnnn_2.grid(row=3, column=1, sticky=NSEW)
btnnnnnnnnnnn_3 = Button(wddwdwwdwdwdwdwdwdwd, text="3", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("3"))
btnnnnnnnnnnn_3.grid(row=3, column=2, sticky=NSEW)
btnnnnnnnnnnn_4 = Button(wddwdwwdwdwdwdwdwdwd, text="4", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("4"))
btnnnnnnnnnnn_4.grid(row=2, column=0, sticky=NSEW)
btnnnnnnnnnnn_5 = Button(wddwdwwdwdwdwdwdwdwd, text="5", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("5"))
btnnnnnnnnnnn_5.grid(row=2, column=1, sticky=NSEW)
btnnnnnnnnnnn_6 = Button(wddwdwwdwdwdwdwdwdwd, text="6", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("6"))
btnnnnnnnnnnn_6.grid(row=2, column=2, sticky=NSEW)
btnnnnnnnnnnn_7 = Button(wddwdwwdwdwdwdwdwdwd, text="7", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("7"))
btnnnnnnnnnnn_7.grid(row=1, column=0, sticky=NSEW)
btnnnnnnnnnnn_8 = Button(wddwdwwdwdwdwdwdwdwd, text="8", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("8"))
btnnnnnnnnnnn_8.grid(row=1, column=1, sticky=NSEW)
btnnnnnnnnnnn_9 = Button(wddwdwwdwdwdwdwdwdwd, text="9", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("9"))
btnnnnnnnnnnn_9.grid(row=1, column=2, sticky=NSEW)
btnnnnnnnnnnn_0 = Button(wddwdwwdwdwdwdwdwdwd, text="0", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("0"))
btnnnnnnnnnnn_0.grid(row=4, column=0, sticky=NSEW)
btnnnnnnnnnnn_dot = Button(wddwdwwdwdwdwdwdwdwd, text=".", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("."))
btnnnnnnnnnnn_dot.grid(row=4, column=1, sticky=NSEW)
btnnnnnnnnnnn_divide = Button(wddwdwwdwdwdwdwdwdwd, text="/", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("/"))
btnnnnnnnnnnn_divide.grid(row=1, column=3, sticky=NSEW)
btnnnnnnnnnnn_mul = Button(wddwdwwdwdwdwdwdwdwd, text="*", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("*"))
btnnnnnnnnnnn_mul.grid(row=2, column=3, sticky=NSEW)
btnnnnnnnnnnn_minus = Button(wddwdwwdwdwdwdwdwdwd, text="-", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("-"))
btnnnnnnnnnnn_minus.grid(row=3, column=3, sticky=NSEW)
btnnnnnnnnnnn_plus = Button(wddwdwwdwdwdwdwdwdwd, text="+", font=("Monaco", 30, "bold"), command=lambda: add_to_displayyyy("+"))
btnnnnnnnnnnn_plus.grid(row=4, column=3, sticky=NSEW)
btnnnnnnnnnnn_equal = Button(wddwdwwdwdwdwdwdwdwd, text="=", font=("Monaco", 30, "bold"), command=lambda:calllllllllll())
btnnnnnnnnnnn_equal.grid(row=4, column=2, sticky=NSEW)
clear = Button(wddwdwwdwdwdwdwdwdwd, text="clear", font=("Monaco", 30, "bold"), command=lambda:clear_displayyyy())
clear.grid(row=5, column=0, columnspan=4, sticky=NSEW)
wddwdwwdwdwdwdwdwdwd.mainloop()
calculatorid()