Loops(Döngüler) in Python : Turkish tutorial #5
4nd post of the Python series. What did I mention about this series?
- Loops(While and For)
- Range() function
- Break and Continue statements
- Sample calculator application
5
Döngüler(Loops)
Bİr süreçin yada işlemin tekrar tekrar devam etmesine döngü(loop) adı verilir.Yani daha önce yaptığımız hesap makinesini hatırlayalım , programda sadece bir tane işlem yapılıp ardından program sonlanıyordu.Peki bu durumdan nasıl kurtulurduk? Bu durumda bize yardımcı olcak tek şey döngüler.Nasıl yani? Dediğinizi duyar gibiyim.Döngüler , süreçleri yazdığımız şartların uygunluğuna göre tekrar tekrar çalıştıran mekanizmalardır.
Pythonda iki çeşit döngü vardır. While döngüsü ve For döngüsü
- While döngüsü
While ın türkçedeki anlamı -iken ve -olduğu sürece anlamına gelir.While döngüsünü yapısını şema üzerinden görelim.
Yazdığımız şart sağlandığı sürece yada doğru iken döngü çalışmasına devam edecektir.Aksi halde döngüden çıkılacaktır.Kullanımı şu şekildedir:
while koşul :
kodlar
döngü içine yazdığımız kod tek satırdan fazla ise her bir kod için girin(tab) yapıyoruz.Daha iyi anlamak için küçük bir örnek verelim ve açıklama yapalım.
sbd = 1
while sbd <=6:
print("Sbd suanki degeri : " , sbd)
sbd=sbd+1
Döngülerin mantığını anlamak için kodu özetlersek :
- Python ilk satırda sbd değişkenine 1 değerini atıyor.
- döngü başlangıcı satırına geldiğinde ise sbd <= 6 olduğu için döngü içine giriliyor.
- sbd anlık degeri ekrana basılıyor
- sbd 1 arttırılıyor.
- Tekrar döngüye gelindiğinde sbd değeri=2 şart sağlandığı için döngüye giriliyor ve bu böyle devam ediyor.En son sbd degeri ekrana basılıp tekrar döngü kontrolüne gelindiğinde şart sağlanmıyor ve döngüden çıkıyor.
Ekran çıktısı ise :
Sbd suanki degeri : 1
Sbd suanki degeri : 2
Sbd suanki degeri : 3
Sbd suanki degeri : 4
Sbd suanki degeri : 5
Sbd suanki degeri : 6
For döngüsü
Döngülerin çalışma mantığı aynıdır.Sadece yapıları değişir.sıradaki döngümüz For döngüsü.Döngü yazımını göstermeden önce kullanılan in deyimi içinde anlamı verir.Bunu örnekle açıklayalım.Döngü
yazımı şu şekilde :
for degişken adı in degişken :
kodlar
Yani değişken içindeki her bir öğeyi sırayla değişken adı 'na ata ve işlem yap demektir.Örnek verelim :
sayilar = "1234567890"
for x in sayilar :
print(int(sayi) * 5)
Şimdide döngüleri daha etkin kullanmak için birkaç yardımcı fonksiyondan bahsedelim.
Yardımcı araçlar
- range() fonksiyonu
range aralık anlamına gelir.fonksiyonun içine 2 parametre yazılır. range(ilk sayı , son sayı) yanlız bu aralığa ilk sayı dahil ama son sayı dahil değildir.Örnek :
for x in range(4,25):
print(x)
yukardaki kodu çalıştırdığımızda çıktı olarak : 4 den 24 e kadar olan tam sayıları vericektir.Dikkat : range fonk ilk ve son sayıdaki artış negatif ise aralık negatif yönde , pozitif ise aralık pozitif yönde teker teker artar. - break deyimi
Python da break özel bir deyimdir.İçine yazıldığı döngüyü sonlandırmayı sağlar.Örnek :
while true:
username=input("kullanici adi girin : ")
if username=="guinso":
print("Giris basarili")
break
else :
print("yanlis kullanici adi girdiniz")
yukarıdaki true deyimi kullanıcı klavyeden giriş yaptığı surece anlamında kullanılmıştır. - continue deyimi
Bu deyim kendinden sonraki kod parçacıklarını görmezden gelip döngü başına geçilmesini sağlar.Örnek:
while true:
pass=input("parolanizi girin : ")
if pass=="cik":
break
if len(pass) > 4:
continue
print("en az 4 haneli parola girebilirsiniz!")
Yukarıdaki programda eğer kullanıcı 4 den az haneli parola girmesse continue deyimi ile döngü başına gidilir.continue kullanım mantığı bu şekildedir.Şimdide döngüler konusunu ile yaptığımız Hesap makinesi uygulamasını güncelleyelim.
Uygulamada her bir işlem seçeneğinin sonuna continue deyimi yazdık.Çünkü işlemden sonra hemen döngü başına gidip yeni işleme geçilmesi programın çalıştırmasını hızlandırır.Hesap makine mizin örnek çıktısı ise bu şekilde.
While döngüsü ile kullanım mekanızması oluşturup , kullanıcının istediği zaman kapatabileceği hesap makinesi miz bu şekilde :) Python Candır
Posted on Utopian.io - Rewarding Open Source Contributors
Python içeriklerinin artması güzel eline sağlık
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Congratulations @guinsoo! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Hey @guinsoo I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x