Python For & While Döngüleri: Enumerate, Break, Continue İfadesi
Döngü Nedir?
Döngüler, belirli bir koşul sağlanana kadar bir kod bloğunu defalarca çalıştırabilir. Programlamada kullanımları oldukça yaygındır. For Loop, while döngüsü, dowhile vb. özelliklere sahip diğer programlama dillerinden farklı olarak.
For Döngüsü Nedir?
For döngüsü bir dizinin elemanları üzerinde yineleme yapmak için kullanılır. Genellikle "n" sayıda tekrarlamak istediğiniz bir kod parçanız olduğunda kullanılır.
While Döngüsü Nedir?
While Döngüsü bir kod bloğunu tekrarlamak için kullanılır. Kod bloğunu bir kez çalıştırmak yerine, belirli bir koşul sağlanana kadar kod bloğunu birden çok kez çalıştırır.
“While Döngüsü” nasıl kullanılır?
While döngüsü "if ifadesinin" yaptığının aynısını yapar, ancak kod bloğunu bir kez çalıştırmak yerine kodun başladığı noktaya geri döner ve tüm süreci yeniden tekrarlar.
Sözdizimi
while expression Statement
Örnek E-posta:
# #Example file for working with loops # x=0 #define a while loop while(x <4): print(x) x = x+1
Beklenen çıktı:
0 1 2 3
- Kod Satırı 4: Değişken x 0'a ayarlandı
- Kod Satırı 7: While döngüsü x<4 koşulunu kontrol eder. X'in mevcut değeri 0'dır. Koşul doğrudur. kontrol akışı while döngüsüne girer
- Kod Satırı 8: x'in değeri yazdırılıyor
- Kod Satırı 9: x, 1 artırılır. Kontrol akışı 7. satıra geri döner. Şimdi x'in değeri 1'dir ve bu da 4'ten küçüktür. Koşul doğrudur ve tekrar while döngüsü çalıştırılır. Bu, x 4 olana kadar devam eder ve while koşulu yanlış olur.
“Döngü İçin” nasıl kullanılır?
In Python, “for döngüleri” denir yineleyiciler
Tıpkı while döngüsünde olduğu gibi “For Loop” da programı tekrarlamak için kullanılır.
Ancak true veya false koşuluna bağlı olan while döngüsünden farklı olarak. “For Loop” yinelenmesi gereken öğelere bağlıdır.
Örnek E-posta:
# #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print(x)
Beklenen çıktı:
2 3 4 5 6
For Loop, aralıkta bildirilen sayıyla yinelenir.
Örneğin,
Döngü için (2,7) aralığındaki x için
Bu kod çalıştırıldığında 2 ile 7 arasındaki sayıyı (2,3,4,5,6) yazdıracaktır. Bu kodda 7 sayısı aralık içinde sayılmaz.
For Döngüleri yalnızca sayı için değil, başka şeyler için de kullanılabilir. Bir sonraki bölümde ince göreceğiz.
String için For Döngüsü nasıl kullanılır?
Bu adımda for döngülerinin sayıların yanı sıra başka şeyler için de nasıl kullanılabileceğini göreceğiz.
Örnek E-posta:
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print(m)
Beklenen çıktı:
Jan Feb Mar April May June
Kod Satırı 3: Ayları (“Ocak, Şubat, Mart, Nisan, Mayıs, Haziran”) Aylar değişkeninde saklıyoruz
Kod Satırı 4: For döngüsünü Ay cinsinden her değer üzerinde yineliyoruz. Ayların geçerli değeri m değişkeninde saklanır
Kod Satırı 5: Ayı yazdırın
For Loop'ta break ifadeleri nasıl kullanılır?
Kesme noktası, For Döngüsünde for döngüsünün yürütülmesini kesmenize veya sonlandırmanıza olanak tanıyan benzersiz bir işlevdir
Örnek E-posta:
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print(x)
Beklenen çıktı:
10 11 12 13 14
Bu örnekte 10'dan 20'ye kadar olan sayıları bildirdik ancak for döngümüzün 15 numarada sonlanmasını ve çalışmayı durdurmasını istiyoruz. Bunun için (x==15): break tanımını yaparak break fonksiyonunu ilan ederiz, böylece kod 15 sayısını çağırır çağırmaz programı sonlandırır Kod Satırı 10 (10, 20) aralığı arasındaki x değişkenini beyan eder
- Kod Satırı 11, x==15'teki kesme noktasının koşulunu bildirir,
- Kod Satırı 12, 15 numaraya ulaşana kadar adımları kontrol eder ve tekrarlar
- Kod Satırı 13 Sonucu çıktıya yazdır
For Loop'ta “devam ifadesi” nasıl kullanılır?
Continue işlevi, adından da anlaşılacağı gibi, for döngüsünün geçerli yinelemesini sonlandıracak ANCAK kalan yinelemelerin yürütülmesine devam edecektir.
Örnek E-posta
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print(x)
Beklenen çıktı:
11 12 13 14 16 17 18 19
Continue ifadesi, listeden belirli bir değer getirmek istediğinizde for döngüsünde kullanılabilir.
Örneğimizde 10-20 değerini beyan ettik ama bu sayılar arasında sadece 5'e bölünmeyen yani 5'e bölündüğünde sıfır vermeyen sayıları istiyoruz.
Yani, aralığımızda (10,11, 12….19,20) yalnızca 3'e bölünebilen ve geri kalanı olmayan 10,15,20 sayı (5) düşüyor.
Yani 10,15 ve 20 sayıları dışında “for döngüsü” devam etmeyecek ve bu sayıları çıktı olarak yazdıracaktır.
- Kod satırı 10, (10, 20) aralığı için x değişkenini bildirir
- Kod satırı 12 x'in 5=0'a bölünmesinin koşulunu bildirir devam et
- Kod satırı 13 sonucu yazdırır
enumerate() nedir? Python?
numaralandırmak() PYTHON'DA yinelenebilir nesnenin her öğesine bir dizin atamak için kullanılan yerleşik bir işlevdir. Geçerli öğenin izini sürerken yinelenebilir nesnelere bir döngü ekler ve nesneyi numaralandırılabilir bir biçimde döndürür. Bu nesne, list() yöntemini kullanarak onu bir listeye dönüştürmek için for döngüsünde kullanılabilir.
Örnek E-posta:
Numaralandırma işlevi Listedeki üyelerin numaralandırılması veya indekslenmesi için kullanılır.
Diyelim ki, ayımız için (Ocak, Şubat, Mart, ….Haziran) numaralandırma yapmak istiyoruz, bu nedenle sayıları sıralayan i değişkenini bildirirken, m listedeki ayın sayısını yazdıracaktır.
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print(i,m) # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Beklenen çıktı:
0 Jan 1 Feb 2 Mar 3 April 4 May 5 June
Kod yürütüldüğünde, numaralandırma işlevinin çıktısı, (0-Ocak), (1-Şubat), (2-Mart), vb. gibi bir dizin numarasıyla birlikte ayların adını döndürür.
- Kod Satırı 3 ayların listesini bildirir [ Ocak, Şubat,…Haziran]
- Kod Satırı 4, For Döngüsü için i ve m değişkenlerini bildirir
- Kod Satırı 5 sonucu yazdıracak ve numaralandırmak için geri kalan aylar için tekrar For Döngüsüne girecektir.
Pratik Örnek
For Loop'un aynı ifadeyi defalarca tekrarlaması için başka bir örnek görelim.
Python döngü | Tüm alıştırmalar için Çalışma Kodu |
---|---|
while döngüsünün kodu |
x=0 while (x<4): print (x) x= x+1 |
Döngü İçin Basit Örnek |
x=0 for x in range (2,7): print (x) |
Dizede for döngüsünün kullanımı |
Months = ["Jan","Feb","Mar","April","May","June"] for m in (Months): print (m) |
For döngüsünde break ifadesini kullanın |
for x in range (10,20): if (x == 15): break print (x) |
Continue ifadesinin for döngüsünde kullanılması |
for x in range (10,20): if (x % 5 == 0): continue print (x) |
"For döngüsü" ile "numaralandırma işlevi" kodu |
Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print (i,m) |
Aynı ifadeyi defalarca tekrarlamak için for döngüsü nasıl kullanılır?
Aynı ifadeyi defalarca tekrarlamak için bile for döngüsünü kullanabilirsiniz. Buradaki örnekte “guru99” kelimesini üç kez yazdırdık.
Örnek: Aynı ifadeyi defalarca tekrarlamak için i değişkenindeki sayıyı (123'te i) bildirdik. Yani kodu aşağıda gösterildiği gibi çalıştırdığınızda, ( 99'te i) değişkenimiz için bildirilen sayının birçok katı olan (guru123) ifadesini yazdırır.
for i in '123': print ("guru99",i,)
Beklenen çıktı:
guru99 1 guru99 2 guru99 3
Diğer programlama dilleri gibi Python aynı zamanda bir döngü kullanır, ancak bir dizi farklı döngü kullanmak yerine yalnızca iki döngüyle sınırlıdır: "While döngüsü" ve "for döngüsü".
- While döngüleri koşullu ifadenin doğru veya yanlış olmasına göre yürütülür.
- For döngülerine yineleyiciler denir; öğeyi koşul kümesine göre yineler
- Python For döngüleri bir dizi başka şey için de kullanılabilir (üzerinde döngü yapmak istediğimiz öğelerin koleksiyonunu belirterek)
- Breakpoint, For Loop'ta programı herhangi bir noktada kesmek veya sonlandırmak için kullanılır.
- Continue ifadesi, ifadeyi yazdırmaya devam edecek ve sonucu belirlenen koşula göre yazdıracaktır.
- “For loop”taki numaralandırma fonksiyonu, baktığımız koleksiyonun üyesini indeks numarasıyla döndürür
Python 2 Örnek
Yukarıdaki kodlar Python 3 örnek, Eğer koşmak istiyorsanız Python 2 Lütfen aşağıdaki kodu dikkate alın.
# How to use "While Loop" #Example file for working with loops # x=0 #define a while loop while(x <4): print x x = x+1 #How to use "For Loop" #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print x #How to use For Loop for String #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print m #How to use break statements in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print x #How to use "continue statement" in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print x #How to use "enumerate" function for "For Loop" #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print i,m # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Çıktı:
0 1 2 3 2 3 4 5 6 Jan Feb Mar April May June 10 11 12 13 14 11 12 13 14 16 17 18 19 0 Jan 1 Feb 2 Mar 3 April 4 May 5 June