Fonksiyonu return edemiyorum

Arkadaşlar yazdığım program normal çalışıyor ama return etmediğimde ekstradan “None” çıktısı alıorum. Return ettiğimde ise parantez içindeki sayıyı ekstradan basıyor(8). Bir bakar mısınız ?

    counter = 0
    for value in range(1,x) :
        if x % value == 0 :
            counter += 1
        else :
            pass
    if counter == 0 :
        print("number is prime")
    else :
        print("number is not prime")
    return x
print(prime(8))`

Fonksiyon tanımı tam çıkmamış, düzeltebilir misiniz?

Şöyle yaparsanız olur:

    if counter == 0 : 
        print("number is prime")
        # return ifadesini buraya aldım, çünkü sadece sayı asalsa döndürülecek
        return x
    else :
        # Burada döndürme olmamalı.
        print("number is not prime")

Python’da bir fonksiyon bir değer döndürmezse None döndürür, buna yapacak bir şey yok. :slight_smile:

counter = 0
    for value in range(1,x) :
        if x % value == 0 :
            counter += 1
        else :
            pass
    if counter == 0 :
        return "number is  prime"
    else :
        return "number is  not prime"
________

print(prime(8))
Dediginde koşula göre sonucu return edecektir
x i neden return ettin anlamadim