Döngüler hakkında konuşalım.
Koşullu operatörler ve mantıksal operatörler hakkında konuştuk.
Ancak Loops, makinelerimiz söz konusu olduğunda bize yepyeni bir güç veriyor.
Programlamada döngüler veya döngü kavramı gerçekten çok güçlüdür.
Mantıksal operatörler ve koşullu mantık ile programımızdaki satırları atlayabildiğimizi gördük, böylece her
zaman bir, iki, üç, dört, beş, altı, vb. şeklinde gitmeyiz.
Ama döngüler gerçekten ilginç bir şey yapıyor.
Kod satırlarını tekrar tekrar çalıştırmamızı sağlar.
Ve bu gerçekten çok güçlü çünkü bu, bir şeyleri binlerce kez, milyonlarca kez çalıştırabileceğimiz anlamına geliyor.
İşte makinelerin üstün olduğu nokta da burasıdır.
Makineler, küçük görevleri defalarca, gerçekten çok hızlı bir şekilde, insanlardan çok daha iyi bir şekilde yapmakta ustadır.
Dolayısıyla döngüler, programlama dillerinin en güçlü özelliklerinden biridir.
Peki nasıl bir tane oluşturacağız?
Bu, for ya da Python'da for döngüsü olarak adlandırdığımız şeyi kullanmak kadar basittir.
Bu anahtar kelime ile diyelim ki sıfırdan ustalığa öğe için bir şey yap diyebiliyoruz.
Yani bunlar, dört tane varsa yerine koşullu operatörler gibidir, ancak o zaman tam olarak ne olduğunu gerçekten
bilmediğimiz bir öğeye sahip olduğumuz yerde bu şey vardır.
Bu bizim yarattığımız bir değişken.
İstediğimiz ismi verebiliriz.
Ben diyebiliriz, oyuncak ayılar diyebiliriz.
Sen ne istersen.
Bu bir değişkendir ve 'den sonraki her öğe için burada bir değişken oluşturulur.
Yani diyor ki hey, sıfır iki ustalıktaki her öğe için bir şey yap.
Bunu daha önce de anahtar kelimede görmüştük.
Bu konuyu daha sonra derinlemesine inceleyeceğiz.
Ama biz buna yinelenebilir diyoruz.
Bir iterable, üzerinde döngü yapılabilen bir şeydir.
Dolayısıyla bir iterable, her bir öğe üzerinde yineleme yapmak için bir iterable içindeki bir şey için bu notasyonu kullanmamızı
sağlar.
Bizim durumumuzda, öğeyi buraya yazdırırsam ve çalıştır'a tıklarsam.
Şuna bir bak.
Sıfırdan ustalığa kadar olan dize olan yinelenebilirdeki her öğeyi yazdırır.
Böylece her harf makinemizin belleğindeki her kitaplığa gider ve her bir öğeyi teker teker yazdırır.
Şimdi, bu dizelerle çalışır, ancak daha önce gördüğümüz bir, iki, üç, dört, beş gibi listeleri de kullanabiliriz.
Tekrar Çalıştır'a tıklarsam, bu bir yinelenebilir olur.
Üzerinde yineleme yapabiliyoruz ve listedeki her bir öğeyi yakalıyor.
Bir set yapalım.
Bunu bir setle yapabilir miyiz?
Çalıştır'a tıklarsam.
Bu da işe yarar.
Peki ya bir tuple?
Bunu tuple ile yapalım.
Çalıştır'a tıklarsam.
Bu da işe yarar.
Bu inanılmaz.
Peki ya sözlük?
Sözlüklere birazdan geleceğiz.
Yani for döngüleri, öğe koleksiyonu olan herhangi bir şey üzerinde yineleme yapmamızı sağlar, böylece bu durumda bir, iki,
üç, dört, beş kez döngü yapıyoruz.
Ve burada Python'a, hey, buraya ne gelirse gelsin, öğeyi tekrar yazdırabilirim, öğeyi tekrar yazdırabilirim
demek için sütunumuz ve ardından girintimiz olduğunu görebilirsiniz.
Mümkün olduğunca çok kez yapabilirim.
Girinti olduğu sürece sayılarımızı yazdırmaya devam edecek.
Ama kapıyı açar açmaz.
İşte.
Ve başka bir şey bas.
Bunu sadece bir kez alıyorum çünkü döngüde değil.
Programımız ilk olarak bunu çalıştırıyor.
Yani üç kez bir, sonra iki, sonra üç, sonra dört, sonra beş ve en sonunda sadece bir tane
basacak.
Sonra baskıya gider.
Nasıl tekrar tekrar dönüp durduğumuzu görüyorsunuz.
Şimdi öğeyi buradan yazdırmaya çalışırsam ne olur?
Ve Çalıştır'a tıklıyorum.
Hmm.
Bunu gördün mü?
Madde burada en sonda basılmaktadır.
Fark edebildiniz mi bilmiyorum ama bir, iki, üç,
dördü üçer kez bastığımızı, ancak beşin dört kez basıldığını görüyorsunuz çünkü en sondaki
bu son baskı, yani beş.
Çünkü döngü sona erdiğinde.
Ürünün değeri aslında beştir.
Sana şunu sorayım.
A, B ve C dizelerini içeren başka bir listede diyelim ki X için şöyle bir şey yapabilir miyim?
Böyle bir şey yapabilir miyim?
Kesinlikle.
Python'da bir şeyleri yuvalayabilirim.
Ve aslına bakarsanız, Python'da if deyimleri gibi koşullu ifadeler kullandığımızda, bunları da her zaman iç içe yerleştirebiliriz.
Çünkü Python'da her zaman girintidir.
Doğru.
Bu yüzden buraya yazdırın diyebilirim.
Ve sonra da yazdırın.
Ve ne var biliyor musun?
Bunları yan yana basalım.
Bu yüzden öğeyi yazdır ve X'i yazdır diyeceğim.
Çalıştır'a tıklarsam.
Bir ve A bir ve B bir ve C yazdırdığımızı görüyorsunuz, çünkü birinci satırı çalıştırdığımız öğe.
Yani ürün şu anda bir tane.
Bir sonraki satıra, ikinci satıra gideceğiz ve bu yinelenebilir üzerinde döngü
yapacağımızı söyleyeceğiz ve bunun X olduğunu söyleyeceğiz, yani bu bir olacak, bu A olacak ve sonra Python ikinci
satıra geri dönecek çünkü hala bu döngüdeyiz ve diyeceğiz ki, Hey, şimdi X nedir?
İşimiz bitti, hadi gidelim.
Yani B'yi ve ardından C'yi çalıştıracak ve yalnızca bu tamamlandığında geri dönecek ve şimdi iki ile başlayacak,
yani tam burada A'dan B'ye ve C'ye, böylece iç içe geçmiş döngülere de sahip olabilirsiniz.
Tamam.
Yani bunlar döngüler.
Ve şu anda, belki de bunların neden yararlı olabileceği tam olarak açık değildir.
Ancak bu konuya girmeden önce, bir sonraki videoda Iterable fikrinden bahsetmek istiyorum.