filter() fonksiyonu # 2 - Python Dersleri (Tutorials)

in #palnet5 years ago

yeni.jpg

Merhabalar

Python programlama derslerinin bu bölümünde gömülü fonksiyonlardan biri olan filter() fonksiyonundan devam edeceğiz.

filter() fonksiyonu, parametre olarak aldığı fonksiyonun işlevine göre liste elemanlarını filtreler.

Asal Sayı Bulma

filter() fonksiyonunu kullanarak verilen bir listedeki asal sayıları bulalım.

filter() kullanımına geçmeden önce ilk olarak filter() fonksiyonuna parametre olarak gidecek olan asal sayı bulan fonksiyonu tanımlayalım :

asalMi() fonksiyonu aldığı sayının asal olup olmadığı bilgisini True veya False olarak döndüren bir fonksiyondur.

Fonksiyonun içinde 1 adet if elif yapısı içerisinde 3 durum sorgulanmıştır:

  • Gelen sayının 1 olma durumu ki bu Matematikte de özel bir durumdur. 1 sayısı kendinden ver 1 den başka sayıya bölünmemesine rağmen asal bir sayı değildir. Bu sebeple False döndürülmüştür.

  • 2.durum ise gelen sayının 2 ye eşit olmama durumudur. 2 sayısı, Matematikte en küçük asal sayı kabul edilir. Bu sebeple True döndürmüştür.

  • Son durum ise gelen sayının 1 ve 2 dışında olması durumudur. Bunda da while() döngüsü içerisinde tek tek gelen sayının bölenleri sorgulanmıştır. Bir böleni çıksa dahi while() döngüsü içerisindeki if() yapısına girerek False değeri döndürecektir. Girmese de True döndürecektir.

Uygulamamızın test sonuçları aşağıdaki gibidir :

Şimdi bu fonksiyonu filter() fonksiyonu içerisinde kullanalım :

filter() fonksiyonunun kullanımı oldukça basit. İlk parametreye fonksiyonu, ikinci parametreye liste veya demet gibi dizisel bir yapıyı veriyoruz.

Sonrası ise sadece çalıştırmaya kalıyor. Sonuç görüldüğü gibi

[2, 3, 17, 167]

dir. Programcıya çok pratiklik kazandırdığı anlaşılıyor sanırım.

filter() fonksiyonuna manuel liste verebileceğimiz gibi range() fonksiyonu ile sıralı bir sayı dizisi de verebiliriz. Uygulamasını görelim :

renge() fonksiyonu ile 1 den 37 ye kadar olan sayılar arasında asal sayı araması yapıldı ve sonuç çıktıdaki gibidir.

Son eleman dahil değildir.

Şimdilik bu kadar.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me


Posted via Marlians.com
Sort:  

Congratulations @elektroyazilim! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published a post every day of the week

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

You can upvote this notification to help all Steem users. Learn how here!

You got a 94.09% upvote from @minnowvotes courtesy of @elektroyazilim!

You got a 67.05% upvote from @brupvoter courtesy of @elektroyazilim!

You got a 17.85% upvote from @joeparys! Thank you for your support of our services. To continue your support, please follow and delegate Steem power to @joeparys for daily steem and steem dollar payouts!

The force is with you! You got a 25.00% upvote from @steemyoda courtesy of @elektroyazilim!

You got a 96.97% upvote from @luckyvotes courtesy of @elektroyazilim!

Coin Marketplace

STEEM 0.30
TRX 0.11
JST 0.033
BTC 64223.84
ETH 3158.34
USDT 1.00
SBD 4.29