Python'da Döngüler

Python'da Döngüler

Python'da döngüler nedir? Nasıl kullanılır? Bu makale, Python'daki döngülerin nasıl çalıştığını ve kullanıldığını anlatıyor For, while ve nested iç içe döngüleri örneklerle adım adım anlatıyoruz Hemen okuyun!

Python'da Döngüler

Python programlama dilinde döngüler, bir işlemi birden fazla kez tekrarlamak için kullanılır. Bu sayede, belirli bir işlemi birkaç satır kod ile yapmak yerine, hızlı ve kolay bir şekilde yapılabilir. Python programlama dilinde kullanılan farklı döngü tipleri ve kullanımları vardır.

While döngüsü, bir koşul sağlandığı sürece çalışan bir döngüdür. Bu döngüde, belirtilen koşul doğru olduğu sürece döngü devam eder. Bir örnek olarak, kullanıcıdan alınan sayının, belirli bir sınırı aşmadığı sürece ekrana yazdırılması verilebilir.

For döngüsü, belirli bir aralıkta veya liste içerisindeki elemanları döndürür. Bu döngüde, belirtilen aralık veya liste elemanları tek tek işlenir. For döngüsü sıklıkla, önceden belirtilen bir aralığı kullanarak bir dizi işlemi gerçekleştirmek için kullanılır. Range() fonksiyonu, for döngüsünde sıklıkla kullanılan bir fonksiyondur. Bu fonksiyon, belirtilen aralıktaki sayıları döndürür.

Döngülerde, işlemi durdurmak veya belirli bir koşulu atlamak için break ve continue ifadeleri kullanılır. Break ifadesi, döngü içinde belirli bir koşul sağlandığında programın işleyişini durdurur. Continue ifadesi ise, belirli bir koşul sağlandığında o adımı atlayarak işleme devam eder.

Döngülerin sonunda kullanılan else ifadesi, döngü biterken çalıştırılacak kod bloğunu belirtir. Else ifadesi, döngüye hiç girilmediğinde de çalışır.

Döngülerde meydana gelen hataların işlenmesi için istisnai durumlar kullanılır. Try-except bloğu, döngü içinde meydana gelen hataların işlenmesi için kullanılır. Eğer bir hata meydana gelirse, except bloğu çalışır ve hatanın işlenmesi sağlanır. Finally ifadesi ise, try-except bloğu sonrasında döngünün her zaman çalıştırılmasını sağlar.

Python programlama dilinde kullanılan farklı döngü tipleri ve kullanımları, belirli işlemlerin hızlı ve kolay bir şekilde yapılabileceğini gösterir. Döngüleri doğru bir şekilde kullanarak, birçok farklı işlemi tek satır kod ile gerçekleştirebilirsiniz.


While Döngüsü

Python, birçok farklı döngü tipi ile programlamayı kolaylaştıran bir dildir. Bu döngülerden biri de While Döngüsü'dür. While döngüsü, önceden belirlenmiş bir koşul sağlandığı sürece çalışmaktadır. Koşul sağlanmaya devam ettikçe döngü işlemlerini yerine getirmeye devam eder.

Örneğin, While Döngüsü kullanarak bir sayının faktöriyelini hesaplayabilirsiniz. Hesaplama işlemi, sayı 1'e eşit olana kadar devam edecektir. Aşağıdaki örnekte, verilen sayının faktöriyelini hesaplamak için bir while döngüsü kullanılmıştır:

Kod Açıklama
i = 1 # Başlangıç değeri
fact = 1 # Faktöriyel değeri
while i <= num: # Koşul kontrolü
fact *= i # Faktöriyel hesaplama
i += 1 # Sayıyı artırma

Bu örnekte, 'i' 1'e eşit bir başlangıç değeri olarak atanır ve faktöriyel hesaplaması için 'fact' değişkeni 1 olarak atanır. Döngü, belirtilen sayıya (num) kadar devam ettirilir ve her adımda 'i' sayısı artırılır ve 'fact' çarpılır.

Görüldüğü gibi, While Döngüsü, Python'da oldukça kullanışlıdır ve birçok programlama işlemi için kullanılabilir.


For Döngüsü

Python programlama dilinde döngülerden biri de for döngüsüdür. For döngüsü belirli bir aralıkta veya listelerdeki elemanları döndürmek için kullanılır.

For döngüsü oluşturmak için, öncelikle döngünün içinde döneceği elemanların bir listesi veya aralığı olması gerekiyor. Bu elemanların üzerinde dönülürken, her bir eleman sırayla döngüdeki değişkenlere aktarılır. Bu sayede döngü, her eleman için tekrar eder.

Bunun yanı sıra for döngüsü, önceden belirtilen sayıda tekrar yapılması gereken durumlarda da kullanılır.

For döngüsü örneklerinden biri, bir listeyi döndürmek için kullanılabilir. Örneğin, aşağıdaki örnekte liste elemanları tek tek yazdırılıyor:

Kod Yorum
liste = [1, 2, 3, 4, 5]for eleman in liste:    print(eleman)
Verilen listedeki elemanları sırasıyla ekrana yazdırır

Bu örnekte, 'liste' adlı bir liste belirlenir ve for döngüsü, liste elemanlarını tek tek ele alarak 'eleman' adlı değişkene atar. Daha sonra elemanlar tek tek yazdırılır.

Ayrıca for döngüsü, belirli bir aralıktaki sayıları yazdırmak için de kullanılabilir. Örneğin, aşağıdaki kod bloğunda 1 ile 10 arasındaki sayılar ekrana yazdırılır:

Kod Yorum
for sayi in range(1,11):    print(sayi)
1 ile 10 arasındaki sayıları ekrana yazdırır

Bu örnekte, range() fonksiyonu ile 1'den 11'e kadar olan sayılar belirlenir ve for döngüsü ile her bir sayı sırasıyla 'sayi' adlı değişkene aktarılır. Daha sonra bu sayılar tek tek yazdırılır.

For döngüsü, programlama dilinde oldukça sık kullanılan bir yapıdır. Özellikle listeler ve aralıklar üzerinde işlem yaparken kullanılabilir.


Range() Fonksiyonu

Python'da döngüler, tekrar eden işlemleri kolay bir şekilde gerçekleştirmemizi sağlar. For ve while döngüleri, Python'da en sık kullanılan döngü türleridir. For döngüsünde, belirli bir aralıkta veya listedeki elemanlar üzerinde dönebilmekteyiz. Bu döngüde sıklıkla kullanılan bir fonksiyon ise range() fonksiyonudur.

Range() fonksiyonu, belirlenen sayıda sayı dizisi oluşturur. Bu sayı dizisi, for döngüsünde sıklıkla kullanılır. range() fonksiyonu, üç ana parametre ile kullanılabilir. İlk parametre başlangıç noktasını, ikinci parametre bitiş noktasını, üçüncü parametre ise aralık değerini belirler.

range() Kullanımı Çıktı
range(5) [0, 1, 2, 3, 4]
range(2, 6) [2, 3, 4, 5]
range(2, 13, 3) [2, 5, 8, 11]

Yukarıdaki örnekte, her bir range() fonksiyonu farklı bir sayı dizisi oluşturur. İlk örnekte, 0'dan 5'e kadar olan sayıların bir listesi oluşturulur. İkinci örnekte, 2'den 6'ya kadar olan sayıların bir listesi oluşturulur. Son örnekte ise, 2'den 13'e kadar olan sayıların 3'er 3'er artarak oluşturduğu bir dizi oluşturulur.

For döngüsü ve range() fonksiyonu birlikte kullanıldığında, belirli bir sayıda tekrar eden işlemler kolayca yapılabilir. Örneğin, belirli bir sayıda dosya adının değiştirilmesi için for döngüsü içerisinde range() fonksiyonu kullanabiliriz:

  • for i in range(1,6):
  • eski_ad = "dosya_" + str(i) + ".txt"
  • yeni_ad = "yeni_dosya_" + str(i) + ".txt"
  • os.rename(eski_ad, yeni_ad)

Bu örnekte, for döngüsüyle birlikte range() fonksiyonu kullanılarak 1'den 5'e kadar oluşan bir sayı dizisi oluşturulur. Her tekrarda, bir dosya adı değiştirilir ve eski dosya adı yeni dosya adıyla değiştirilir.


Break ve Continue Kullanımı

Python programlama dilinde kullanılan döngülerin en önemli özelliklerinden biri de break ve continue ifadeleridir. Bu ifadeler döngü işlemlerinde çok işlevsel olabilirler ve programın daha hızlı, verimli ve güvenilir çalışmasına yardımcı olabilirler.

Öncelikle, break ifadesi döngü içerisinde belirli bir koşul gerçekleştiğinde döngüyü sonlandırmak için kullanılır. Özellikle while döngüsü içerisinde kullanıldığında, belirli bir koşul sağlandığında döngünün sonlandırılması gerekiyorsa break ifadesi kullanılabilir. Aşağıdaki örnekte while döngüsü içinde break ifadesini kullanarak döngüyü sonlandırıyoruz:

i = 0while True:  print(i)  i = i + 1  if i == 10:    break
  • i değişkeni 0 olarak tanımlanır.
  • while döngüsü belirtilen koşul her zaman doğru olduğu için sonsuz döngü olarak başlatılır.
  • Her döngüde i değeri 1 arttırılır ve ekrana yazdırılır.
  • i değeri 10 olduğunda, break ifadesi ile döngü sonlandırılır.

Diğer bir önemli ifade ise continue'dur. Bu ifade belirli koşullar sağlandığında döngü içindeki işlemleri atlamak için kullanılır. Özellikle for döngüsü içinde kullanıldığında, belirli bir koşul gerçekleştiğinde döngünün diğer adımına geçerek işlemleri atlayabiliriz. Aşağıdaki örnekte for döngüsü içinde continue ifadesini kullanarak döngüyü atlıyoruz:

for i in range(10):  if i == 5:    continue  print(i)
  • i değişkeni range(10) aralığında tanımlanır.
  • Her adımda i değeri kontrol edilir. Eğer i değeri 5 ise continue ifadesi ile diğer adıma geçilir ve işlem atlanır.
  • i değeri ekrana yazdırılır.

Break ve continue ifadeleri, döngü işlemlerinde oldukça işlevsel ve önemlidirler. Doğru kullanıldığında programın daha hızlı, güvenilir ve verimli çalışmasına yardımcı olabilirler. Ancak, yanlış kullanıldıklarında programda hatalara neden olabilirler, bu nedenle dikkatli bir şekilde kullanılmalıdırlar.


Else İfadesi

Döngüler genellikle bir koşulu tekrar eden işlemler için kullanılan yapılar olarak karşımıza çıkar. Bu yapılar içinde, if-else bloklarında da olduğu gibi, else ifadesi de yer alır. Else ifadesi, döngü sonunda çalışacak kod parçasını ifade eder. Ancak döngü çalışırken, koşul sağlandığı sürece döngünün içindeki kodlar çalışmaya devam eder ve bu nedenle else ifadesi de ancak döngü sona erdiğinde çalışır.

Özellikle while döngüsünün sonunda kullanılan else ifadesi, koşulun sona ermesine rağmen döngü içindeki işlemlerin tamamlanıp tamamlanmadığını kontrol etmek için kullanılabilir. Eğer döngü içindeki işlemler tamamlanmışsa, else ifadesi ile döngü sonunda ek bir işlem yapılabilir.

Örneğin, bir programda, kullanıcı tarafından girilen sayının asal bir sayı olup olmadığı kontrol edilebilir. While döngüsü içinde sayı belli aralıklarla kontrol edilir ve eğer sayı asal değilse, döngü sonlandırılır. Ancak döngü tamamen kontrol edildikten sonra, sayının asal olmaması durumunda else ifadesi ile kullanıcıya uygun bir mesaj verilebilir.

Bunun yanı sıra, for döngüsü içinde de else ifadesi kullanılabilir. Belirli bir aralıktaki verilerin döngü içinde ele alınması durumunda, döngü sonunda eğer belirli bir şart sağlanmamışsa else ifadesi ile ek bir işlem yapılabilir.

Else ifadesi, döngülerde son derece önemli ve kullanışlı bir ifadedir. Kontrol işlemlerinde özellikle kullanımı yaygın olan bu ifade, doğru koşullarla kullanıldığında döngülerin işleyişini kolaylaştırır ve kodların daha anlaşılır hale gelmesini sağlar.


Döngülerde İstisna Durumları

Döngüler, programlama dillerinde sıklıkla kullanılan yapılardır ancak bazen istenmeyen hatalar oluşabilir. Bu hataların işlenmesi için özel durumlar oluşturulabilir.

Örneğin, bir for döngüsünde elemanları gezerken index dışında bir değer kullanılmaya çalışılabilir. Bu durumda ortaya çıkan hata, programın çökmesine neden olabilir. Bu gibi durumlarda try-except blokları kullanılarak hatalar yönetilebilir.

Try-except blokları, hatanın oluşabileceği kod bloğunu try alanına alırken, oluşan hatayı except bloğu ile yakalayarak işlenebilir. Finally bloğu, try-except bloklarından sonra her ihtimale karşı çalışacak olan alanı ifade eder.

Kod Parçası İşlevi
for i in range(10):    try:        print(i / 0)    except:        print("Hata!")    finally:        print("Finally")            
Burada for döngüsü içinde yer alan kod bloğunda bir hata bulunmaktadır. Kod bloğu içindeki her bir eleman, hata denetimi için try-except blokları içine alınmıştır. Her defasında finally bloğunda yer alan "Finally" ifadesi yazdırılır.

Ayrıca, özellikle iç içe döngülerin kullanıldığı durumlarda break ve continue ifadelerine başvurulabilir. Break ifadesi, döngüyü bitirmek için kullanılırken, continue ifadesi döngüde yer alan bazı adımların atlanması için kullanılır.

  • Break kullanımı örneği:
    • for i in range(5):
    •   for j in range(5):
    •     if j == 3:
    •       break
    •     print(j)
    •   print("Aralık Bitti")
  • Continue kullanımı örneği:
    • for i in range(10):
    •   if i % 2 == 0:
    •     continue
    •   print(i)

Döngülerdeki istisna durumlarının doğru bir şekilde yönetilmesi, döngülerin sağlıklı bir şekilde çalışmasını sağlayacaktır.


Try-Except Bloğu

Python programlama dili ile yazılan döngülerde, bazen hatalar meydana gelebilir. Bu hataların programın akışını kesintiye uğratmasını önlemek için try-except blokları kullanılabilir.

Try bloğu içerisine yazılan kodlar denendiğinde bir hata oluşursa, Python kodun geri kalanını hiçbir şekilde çalıştırmadan except bloğuna geçer. Bu sayede hata yönetimi sağlanarak programın düzgün bir şekilde çalışması sağlanabilir.

Bir örnek vermek gerekirse:

Kod: Sonuç:
try:    sayi = int(input("Bir sayı girin: "))    islem = 10 / sayiexcept:    print("Bir hata oluştu!")      
Bir sayı girin: 0Bir hata oluştu!      

Bu örnekte, kullanıcının girdiği sayı sıfır olduğunda 10'a bölme işlemi gerçekleştirilemediği için bir hata meydana gelmiştir. Ancak try-except blokları kullanılarak bu hatanın önüne geçilerek hatanın nasıl ele alınacağı belirlenmiştir.

Bu şekilde döngülerdeki hataların yönetimi sağlanabilir ve programın düzgün bir şekilde çalışması sağlanabilir.


Finally İfadesi

Python'da döngüler oldukça kullanışlı ve sık kullanılan yapılardan biridir. Döngülerde bazen try-except bloğu ile hataları işlerken, bu bloktan sonra her durumda çalışacak olan finally ifadesi de oldukça önemlidir. Bu ifade döngünün tamamlandığı ya da hatalı bir durumda çalıştırılacak olan bir kod bloğudur.

Finally ifadesi try-except bloğundan sonra kullanılarak, dosya ya da veritabanı gibi kaynakları serbest bırakmak gibi işlemler yapılabilir. Çalışan bir kod bloğundan sonra finally ifadesinin çalışması, bağlantıların kesilmesi olsun ya da açık kalan dosyaların kapatılması olsun oldukça önemlidir. Böylece, hafıza yönetimi açısından da oldukça önemli bir adım atılmış olur.