Tkinter hakkında python

try:
    import tkinter as tk


    pencere = tk.Tk()

    pencere.title("hesap makinesi")
    pencere.geometry("250x250")
    pencere.configure(bg="black")
    sonuç = tk.Label(text="", bg="black", fg="white")
    sonuç.place(x=105, y=10)

    sayı1 = tk.Entry(pencere, width=25)
    sayı1.place(x=45, y=25)
    sayı2 = tk.Entry(pencere, width=25)
    sayı2.place(x=45, y=50)


    def topla():
        s1 = float(sayı1.get())
        s2 = float(sayı2.get())
        sonuç['text'] = str(s1 + s2)


    def çık():
        s1 = float(sayı1.get())
        s2 = float(sayı2.get())
        sonuç['text'] = str(s1 - s2)


    def çarp():
        s1 = float(sayı1.get())
        s2 = float(sayı2.get())
        sonuç['text'] = str(s1 * s2)[0:4]


    def böl():
        s1 = float(sayı1.get())
        s2 = float(sayı2.get())
        sonuç['text'] = str(s1 / s2)[0:4]


    tbuton = tk.Button(text="+", command=topla, height=1, width=12)
    tbuton.place(x=75, y=80)
    çıbuton = tk.Button(text="-", command=çık, height=1, width=12)
    çıbuton.place(x=75, y=110)
    çabuton = tk.Button(text="x", command=çarp, height=1, width=12)
    çabuton.place(x=75, y=140)
    bbuton = tk.Button(text="÷", command=böl, height=1, width=12)
    bbuton.place(x=75, y=170)
    pencere.mainloop()
except ZeroDivisionError:
    from tkinter import messagebox
    messagebox.showerror("zero division error", "float division by zero")

Tkinter öğrenmeye yeni başladım.Yukarıdaki gibi bir kod yazdım lakin zerodivisionerror hatası olduğunda

 from tkinter import messagebox
 messagebox.showerror("zero division error", "float division by zero")

kısmı çalışmıyo.Napmalıyım?
Yardımcı olursanız sevinirim

normalde böyle yazmam ama senin kodun yapısı bozulmasın diye bu şekilde yazdım bu kod bende çalıştı.

try:
    import tkinter as tk
    from tkinter import messagebox

    pencere = tk.Tk()

    pencere.title("hesap makinesi")
    pencere.geometry("250x250")
    pencere.configure(bg="black")
    sonuç = tk.Label(text="", bg="black", fg="white")
    sonuç.place(x=105, y=10)

    sayı1 = tk.Entry(pencere, width=25)
    sayı1.place(x=45, y=25)
    sayı2 = tk.Entry(pencere, width=25)
    sayı2.place(x=45, y=50)


    def topla():
        s1 = float(sayı1.get())
        s2 = float(sayı2.get())
        sonuç['text'] = str(s1 + s2)


    def çık():
        s1 = float(sayı1.get())
        s2 = float(sayı2.get())
        sonuç['text'] = str(s1 - s2)


    def çarp():
        s1 = float(sayı1.get())
        s2 = float(sayı2.get())
        sonuç['text'] = str(s1 * s2)[0:4]


    def böl():
        s1 = float(sayı1.get())
        s2 = float(sayı2.get())
        try:
            sonuç['text'] = str(s1 / s2)[0:4]
        except ZeroDivisionError:
            messagebox.showerror("zero division error", "float division by zero")

    tbuton = tk.Button(text="+", command=topla, height=1, width=12)
    tbuton.place(x=75, y=80)
    çıbuton = tk.Button(text="-", command=çık, height=1, width=12)
    çıbuton.place(x=75, y=110)
    çabuton = tk.Button(text="x", command=çarp, height=1, width=12)
    çabuton.place(x=75, y=140)
    bbuton = tk.Button(text="÷", command=böl, height=1, width=12)
    bbuton.place(x=75, y=170)
    pencere.mainloop()
except:
    pass
    
    

3 Beğeni