Asal Sayı Bulma Uygulaması - Python Dersleri (Tutorials)
Merhabalar
Bu dersimizde asal sayıları bulan bir uygulama yapacağız. İlk olarak asal sayıların tanımını yaparak başlayalım.
Asal sayılar, bir ve kendisinden başka böleni olmayan sayılardır. 2,3,5,7,11,13,17.... sayılarını örnek verebiliriz.
Şimdi de algoritmasından bahsedelim. Bir sayının asal sayı olup olmadığını anlamak için yapmamız gereken :
1 ve kendisinden başka dediğimiz için aradaki tüm sayıların bu sayıya bölünüp bölünmediğini kontrol etmektir.
Eğer bölünen bir sayı çıkarsa bu sayı asal sayı değildir, çıkmazsa bu sayı asal sayıdır.
Asal sayıyı bulma işini de bir fonksiyon üzerinden yapacağız. Yani bir fonksiyona bir sayı vereceğiz o bize o sayının asal olup olmadığı bilgisini verecek.
Genel algoritma bu şekildedir.
Şimdi kod kısmına geçelim :
Uygulamamızın başında sayi ve asalMi isimlerinde iki adet değişken tanımladık.
sayi değişkeni kullanıcıdan sayı almak için kullanılacaktır. asalMi değişkeni ise verilen sayının asal olup olmama durumunu tutacaktır.
Sonrasında asalSayiBulma() isminde tek parametre alan bir fonksiyon tanımladık.
Fonksiyonun içinde sayi değişkeninin değerinin 1 veya 2 olma durumu ayrıca kontrol edilmiş. Bunun sebebi 1 sayısının, 1 ve kendisinden başka sayıya bölünmemesine rağmen asal olmamasıdır.
Aynı şekilde 2 sayısı da en küçük asal sayı kabul edildiğinden onun durumu da ayrıca incelenmiştir.
Sonra else bloğuna giriyoruz. 1 ve 2 dışındaki tüm sayılar bu blokta incelenecektir. Bir sayının kendisine kadar olan sayıları listelemek için range() fonksiyonu kullanılmışken bu sayılar arasında gezinmek için de for döngüsü kullanılmıştır.
for döngüsü içinde sayi değişkenimiz herhangi bir sayıya bölünürse
return False
ifadesi ile fonksiyondan "False" değeriyle dönecektir. Bölünmediği durumda da "True" değeri ile dönecektir.
Uygulamanın sonundaki while() döngüsü ise kullanıcıdan sürekli sayı almak için kullanılmıştır.
while() döngü bloğu içerisinde kullanıcıdan alınan değerin bir sayı mı yoksa 'q' karakterimi olduğu en dıştaki if() yapısında sorgulanmıştır. Eğer kullanıcı 'q' tuşuna basmışsa döngüden çıkılacaktır.
Kullanıcı sayı girmişse else bloğuna girilecek ve girilen karakter sayıya dönüştürüldükten sonra asalSayiBulma() fonksiyonuna gönderilecektir.
Fonksiyondan geriye dönen değer ise asalMi değişkenine atanacak ve asalMi değişkeninin değerine göre de kullanıcıya
Sayımız, asaldır.
ya da değildir şeklinde mesaj verilecektir.
Şimdi de çıktımızı görelim :
Görüldüğü gibi uygulama gayet düzgün çalışıyor.
Şimdilik bu kadar.
Umarım faydalı bir çalışma olmuştur.
Teşekkürler.
Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me
The force is with you! You got a 34.01% upvote from @steemyoda courtesy of @elektroyazilim!
You got a 86.94% upvote from @minnowvotes courtesy of @elektroyazilim!
Thank you so much for using our service! Congratulations! You've earned an ROI of 107.71% with bids of: 0.038$
Received 13.39% upvote from @onlyprofitbot courtesy of @elektroyazilim!
More portion of profit will be given to delegators, as the SP pool grows!
Comment below or any post with "@opb !delegate [DelegationAmount]" to find out about current APR, estimated daily earnings in SBD/STEEM
You can now also make bids by commenting "@opb !vote post [BidAmount] [SBD|STEEM]" on any post without the hassle of pasting url to memo!
* Please note you do not have to key in [] for the command to work, APR can be affected by STEEM pricesYou got a 25.00% upvote from @whalecreator courtesy of @elektroyazilim! Delegate your Steem Power to earn 100% payouts.