Python Asal Sayı Kontrolü Örneği

Paylaşmak Güzeldir!

Python’da bir sayının asal sayı olup olmadığını öğrenmek için kullanabileceğiniz, kısa bir kod yazdım. Hatırlamak isteyenler için asal sayı, kendisinden ve 1’den başka sayıya kalansız bölünmeyen sayılardır. Mesela 13, bir asal sayıdır, çünkü 1 ve 13 dışında kalansız böleni yoktur. 12 bir asal sayı değildir, çünkü 1 ve 12 dışında 2, 3, 4 ve 6 sayılarına da kalansız bölünebilir.

Python’da bir sayının asal sayı olup olmadığını öğrenmek için yazdığım aşağıdaki kodda mümkün olduğu kadar neyi neden yaptığımı açıklamaya da çalıştım. Sorularınız olursa, yorum bölümünden iletebilirsiniz.

#Asal Sayı: Kendisinden ve 1'den başka kalansız böleni olmayan sayıdır.

#kullanıcıdan alınan değer için bir değişken tanımlayalım
kdeger=int(input("Lütfen asal sayı olup olmadığını merak ettiğiniz bir tam sayı giriniz. "))

#bir sayaç kontrolü oluşturalım, ilk değeri 0 olsun
kontrol=0

#Döngüyü başlatalım
#verilen sayıyı, 2 ve kontrol edilen sayı arasındaki tüm sayılara bölelim
#eğer herhangi bir bölme işleminde 0 kalan elde edersek, kontrol sayacını 1 arttıralım.
#Bu işlemlerden herhangi birinde 0 kalan elde edersek, sayının kendisinden ve
#1'den başka kalansız böleni de var demektir; yani sayı asal değildir.
for x in range(2,kdeger):
    if kdeger%x==0: #bölüm işleminden kalan 0 olursa
        kontrol=kontrol+1 #kontrol sayacının değerini 1 arttıralım
        break #böyle bir durumda işleme devam etmemize gerek yok, işlemi durduralım.
if kontrol!=0: #eğer kontrol sayacı işlem sonunda 0 değilse
    print(kdeger,"asal bir sayı değildir.") #verilen sayı asal değildir, yazdıralım.
else:   #eğer kontrol sayacı işlem sonunda 0 ise:
    print(kdeger,"asal bir sayıdır.") #verilen sayı asaldır, yazdıralım.

#Shell haricinde programı kullandığımızda, sonuç yazdırıldıktan hemen sonra
#program kapanacaktır. Bunu engellemek için, time modülünü import edip,
#5 saniyelik bir bekleme sürecinden sonra programın kapanmasını sağlayabiliriz.
print("Bu program 5 saniye sonra kendisini kapatacaktır.")
import time
time.sleep(5)

Paylaşmak Güzeldir!