ZeroDivisionError

a1 = 0
a5 = 0
a7 = 1
b1 = 0
b2 = 0
def interface():
    print("Ortalamasını İstediğiniz Sayıları Girin Bitince 0 Yazın")
    sayı_al()

def sayı_al():
    global a1,a5,a7,b1,b2
    i1 = int(input("Sayıyı Girin\n"))
    if i1 == 0:
        print("Yükleniyor...")
        a6 = b1/b2
        print("Yazdığınız Sayıların Ortalaması {}".format(a6))
        return i1,a1,a7,a5
    else:    
        i1 += a1 == b1
        a7 += a5 == b2
        interface()
        return b1,b2
        

    

interface()
    

Bu şekilde basit bir ortalama alma programı yazdım ama “if i1 == 0” çalışınca b1 ve b2 yi 0 olarak alıyor sonra da ZeroDivisionError hatasını alıyorum ne yapmam gerek ?

try except yapabilirsiniz

Çünkü b1 ve b2, 0 olarak tanımlanmış ve hiçbir yerde başka bir değer atanmıyor.

Bir sayıyı sıfıra bölmeye çalıştığınız için bu hatayı alıyorsunuz.


Global değişkenler kullanmak yerine fonksiyonlara paremetre yollamanız daha doğru olur. Bu şekilde fonksiyon kullanmanın da pek anlamı yok.

1 Beğeni