Python programlama dilinde kullanılan döngü yapıları, belirli bir işlemi tekrar etmek için kullanılır. Bu yapılar, programlama dünyasında oldukça önemli bir yere sahip olup, programlama mantığını öğrenmek için de önemli bir başlangıç noktasıdır. Python’da kullanılan en yaygın döngü yapıları; for, while ve do-while döngüleridir.
For döngüsü, belirli bir aralıkta elemanlar üzerinde gezinerek işlem yapmak için kullanılır. Bu döngü genellikle, bir listenin elemanları üzerinde gezinmek, ya da belirli bir sayı aralığında işlem yapmak için kullanılır. While döngüsü ise, belirlenen bir şartın sağlandığı sürece çalışmaya devam eder. Bu döngü, genellikle kullanıcının bir veri girişi yapması beklenen durumlarda kullanılır.
Do-while döngüsü ise, bir şartın sağlanıp sağlanmamasına bakılmaksızın en az bir kez çalışır. Bu döngü yapısı, Python’da doğrudan desteklenmese de, while döngüsü ile birlikte kullanılarak benzer bir işlev sağlanabilir. Bu döngülerin yanı sıra, break ve continue ifadeleri de kullanılarak döngü adımları kontrol edilebilir.
Veri yapılarıyla birlikte kullanılan döngüler ise, belirli bir veri seti üzerinde işlem yapmak için kullanılır. Bu döngüler, özellikle liste, demet, sözlük gibi veri yapıları ile birlikte kullanıldığında oldukça etkili sonuçlar verebilir. Döngü yapıları, programlama dünyasında oldukça önemli bir yere sahiptir ve Python dilinde de sıkça kullanılmaktadır.
For Döngüsü
Python programlama dilinde en sık kullanılan döngülerden biri for döngüsüdür. For döngüsü, bir dizi, liste veya sözlük gibi iterable objelerdeki öğeleri teker teker işlemek için kullanılır. For döngüsü, örneğin bir listedeki tüm öğeleri tek tek kontrol etmek veya koşulları sağlayan tüm verileri işlemek gibi senaryolar için oldukça etkilidir.
For döngüsü kullanımı oldukça kolaydır. Yapılması gereken tek şey, döngünün kullanılacağı liste ya da dizi gibi iterable objeleri belirlemek ve döngüde bu objeleri kullanmak. Aşağıdaki örnekte, bir liste içerisindeki tüm sayılar tek tek işlenir:
Kod bloğu | Çıktı |
---|---|
numbers = [1, 2, 3, 4, 5] for num in numbers: print(num) |
1 2 3 4 5 |
Yukarıdaki örnekte, “numbers” adlı bir liste oluşturulur ve bu listenin tüm elemanları tek tek “for” döngüsü ile döngüde “num” adlı bir değişkene atanır. Bu değişken, döngü içerisinde kullanılarak listenin tüm elemanları tek tek yazdırılır.
For döngüsü ayrıca, range() fonksiyonu kullanılarak da kullanılır. range() fonksiyonu ile belirli bir aralığı veya sayı serisini oluşturmak mümkündür. Aşağıdaki örnekte range() fonksiyonu kullanılarak 1’den 10’a kadar olan sayılar tek tek işlenir:
Kod bloğu | Çıktı |
---|---|
for num in range(1, 11): print(num) |
1 2 3 4 5 6 7 8 9 10 |
Yukarıdaki örnekte, “for” döngüsü kullanılarak range() fonksiyonu içerisine 1 ve 11 değerleri verilir. Bu sayede, 1’den 10’a kadar olan sayılar tek tek döngü içerisinde yazdırılır.
While Döngüsü
Python’daki diğer döngü yapısı ise while döngüsüdür. While döngüsü, belirli bir şartın sağlandığı sürece kod bloğunu tekrarlar. Şart sağlanmadığı sürece döngüyü sonlandırır. While döngüsünün en basit kullanımı şu şekildedir:
Kod | Çıktı |
---|---|
i = 0 while i < 5: print(i) i += 1 |
01234 |
Yukarıdaki örnekte while döngüsü 0'dan başlayarak 4'e kadar (5 hesaba dahil değil) sayıları ekrana yazdırdı.
While döngüsü, for döngüsünden farklı olarak sınırlarının önceden belirtilmesine gerek yoktur ve döngü şartı sağlandığı sürece çalışır. Ancak, dikkat edilmesi gereken bir konu, while döngüsündeki şartın sonsuza kadar sağlanması durumunda döngünün sonsuz bir şekilde çalışması ve programın çökmesidir. Bu nedenle, while döngüsü kullanırken şartın sonlandırılacağı bir durumun sağlanması gerekir.
While döngüsü genellikle bir veri yapısındaki elemanlar üzerinde işlem yaparken kullanılır. Örneğin, bir listedeki tüm elemanları sırasıyla ekrana yazdırmak için aşağıdaki örnek kullanılabilir:
Kod | Çıktı |
---|---|
names = ["Ahmet", "Mehmet", "Ayşe", "Fatma"]i = 0 while i < len(names): print(names[i]) i += 1 |
AhmetMehmetAyşeFatma |
Yukarıdaki örnekte, while döngüsü ile names listesindeki her bir eleman yazdırılmıştır.
Break ve Continue Kullanımı
Döngülerin çalışma mantığı gereği, bazı durumlarda döngü işleminin tamamlanması gerekmeyebilir veya belirli bir koşul sağlandığında döngünün sonlandırılması gerekebilir. Bu noktada, Python döngü yapısı içinde kullanılan break ve continue ifadeleri işe yaramaktadır.
Break ifadesi, döngü içerisinde belirli bir koşul sağlandığında döngü işlemi tamamlanmadan sonlandırılmasını sağlar. Örneğin, bir sayı dizisi içerisinde aradığımız sayıyı bulduğumuzda, arama işlemi sonlandırılır. Bu sayede, gereksiz yere döngüye devam edilmesi engellenir ve süreç optimize edilir.
Continue ifadesi ise, belirli bir koşul sağlandığında, döngünün o anki işlemini atlayarak bir sonraki adıma geçmesini sağlar. Bu durumda, döngü işlemi tamamlanmaz ancak, atlanan adımlar yerine getirilmeden, diğer adımların işlemesi devam eder.
Break ve continue ifadeleri, özellikle veri işleme ve arama işlemlerinde yaygın olarak kullanılır. Ayrıca, döngülerin performansını da olumlu yönde etkilerler. Belirtilen koşulların sağlanması durumunda, gereksiz işlem yapılmadan, süreç daha hızlı bir şekilde sonlandırılır.
Nested Döngüler
Nested döngüler, iç içe geçmiş döngüler olarak da bilinirler ve Python'da oldukça sık kullanılırlar. Bu tür döngü yapıları, yüksek seviyeli programlama dillerinde genellikle daha karmaşık algoritmaların yazılmasında kullanılırlar.
Nested döngülerin örnekleri arasında matris veya liste elemanlarının taranması ve her bir elemanın üzerinde işlem yapılması yer alır. Bu işlem basit bir döngü ile gerçekleştirilebilir ancak bazı senaryolarda n boyutlu bir matrisi tararken birçok iç içe geçmiş döngüye ihtiyaç duyulabilir.
Aşağıdaki örnek kod, iç içe geçmiş 3 farklı for döngüsü kullanarak bir matrisin elemanlarını ekrana yazdırmaktadır.
```matris = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in range(len(matris)): for j in range(len(matris[i])): for k in range(len(str(matris[i][j]))): print(matris[i][j][k], end=" ") print()```
Yukarıdaki örnekte, 3 farklı döngü iç içe kullanılmıştır. İlk döngü satırları tararken, ikinci döngü ise her bir satırdaki elemanları tarar. Son döngü de her bir elemanın sayılarını ayrı ayrı yazdırır.
Nested döngülerin kullanımı, kodun daha karmaşık ve okunması zor hale gelmesine neden olabilirler. Bu nedenle, kodun döngü sayısını azaltmak için alternatif çözümler aranmalıdır.
Döngülerin Performansı
Döngüler, programlama dillerinde sıklıkla kullanılan yapılar arasındadır ve performansları oldukça önemlidir. Döngülerin performansını etkileyen faktörlerden biri, döngünün kaç kere tekrar edeceği sayısıdır. Eğer döngü çok fazla tekrar ediliyorsa, programın çalışması yavaşlayabilir. Bu nedenle, döngülerin sayısı mümkün olduğunca azaltılmalıdır.
Döngülerin performansını etkileyen bir diğer faktör, döngü içinde yapılacak işlemlerin niteliğidir. Örneğin, döngü içinde çok sayıda matematiksel işlem yapılıyorsa, programın çalışması yavaşlayacaktır. Bu nedenle, döngü içinde yapılacak işlemlerin mümkün olduğunca basit ve az sayıda olması gerekmektedir.
Döngülerin performansını artırmak için optimizasyon teknikleri kullanılabilir. Bu tekniklerden biri, döngü değişkeninin yerel bir değişken olarak tanımlanmasıdır. Böylece, döngü içinde sık sık değişken çağırma işlemi yapılmaktan kaçınılmış olur ve programın çalışması hızlanır.
Başka bir optimizasyon tekniği, döngü içindeki koşulların mümkün olduğunca basit olmasıdır. Bu sayede, programın çalışma süresi kısalmış olur ve döngüler daha verimli hale gelir.
Sonuç olarak, döngülerin performansı, programlama dili üzerinde çalıştığı donanım ve yazılım etkenleri ile belirlenir. Ancak, döngü sayısının azaltılması, işlemlerin basit ve az sayıda olması, değişkenlerin yerel tanımlanması gibi optimizasyon teknikleri kullanarak döngülerin performansı artırılabilir.
Do-While Döngüsü
Python'da do-while döngüsü, diğer programlama dillerindeki gibi doğrudan desteklenmez. Bunun yerine, while döngüsü kullanarak benzer bir yapı elde edilebilir. Do-while döngüsü, önce döngü gövdesi çalıştırılır, ardından koşul kontrol edilir. Eğer koşul doğruysa döngü tekrar çalıştırılır, aksi halde döngü sonlandırılır.
Python'da do-while döngüsünü oluşturmak için, öncelikle döngü gövdesini bir kez çalıştırmak için while döngüsünü kullanmamız gerekiyor. Ardından, koşulu (şartı) kontrol etmek için bir if koşulu yazmamız gerekiyor. Do-while döngüsünün kullanımı özellikle kullanıcı girdileri gibi belirli koşulların tamamlanması gereken durumlarda yaygındır.
Örneğin, bir dizi sayı girilmesi istendiğinde, do-while döngüsü kullanarak, diziye en az bir sayı girilene kadar kullanıcıya tekrar tekrar soru sorulabilir. Bu sayede, doğru bir şekilde sonsuz döngüye girmeden, kullanıcının belirli bir koşulu tamamlamış olması sağlanabilir.
Aşağıda, do-while döngüsünün kullanımı hakkında basit bir örnek verilmiştir:
Kullanımı | Açıklama |
---|---|
while True: |
Sonsuz bir döngü oluşturulur |
print("Sayı giriniz: ") |
Kullanıcıdan sayı girilmesi istenir |
sayı = int(input()) |
Girilen sayı alınır |
if sayı > 0: |
Girilen sayı 0'dan büyükse döngü sonlandırılır |
Döngülerin Kullanım Alanları
Döngüler, programlama dillerinin en temel özelliklerinden biridir ve pek çok senaryoda kullanılır. Örneğin, bir listenin her elemanını tek tek işlemek veya bir dosyadaki satırları okumak için döngüler kullanılabilir. Ayrıca, belirli bir koşulu sağlayana kadar bir işlemi tekrarlayan döngüler de sıklıkla kullanılır.
İşletim sistemleri ve veritabanları gibi sistemler de döngüler kullanır. Bir örnek olarak, bir işletim sistemi, herhangi bir kullanıcının klavyeden bir tuşa bastığı zaman bunu algılamak için bir döngü çalıştırabilir. Veritabanları ise, sorguları işlemek için döngüler kullanır ve sonuçları geri gönderir.
Döngülerin kullanım alanları çok çeşitli olmasına rağmen, en yaygın kullanım alanlarından biri, belirli bir işlemin birçok kez tekrarlanması gerekiyorsa kullanılır. Örneğin, birçok öğrencinin not ortalamalarını hesaplama, bir dosyadaki satırları sıralama veya bir öğrencinin saatlerce çalışarak tamamlaması gereken bir görevi tekrarlayan bir döngü ile gerçekleştirme gibi durumlar için döngüler kullanılabilir.
- Bir web sitesinde bir sınıfın öğrenci listesini görüntülemek için döngüler kullanılabilir.
- Bir alışveriş sitesindeki ürünlerin listelenmesi için de döngüler kullanılabilir.
Senaryo | Kullanım Alanı | Örnek |
---|---|---|
Grafik çizimi | Döngüler, grafiklerin yapılması için sıklıkla kullanılır. | Döngüler kullanarak, belirli bir süre içindeki hava durumu gibi verileri grafiksel olarak gösteren bir uygulama yapılabilir. |
Aralarındaki sayıların toplanması | Toplama işlemleri için döngüler kullanılabilir. | Bir kullanıcının belirli bir aralıktaki sayıların toplamını hesaplayan bir program yazılabilir. |
Döngülerin kullanım alanları çok çeşitli olduğundan, herhangi bir algoritma veya senaryo için neredeyse her zaman bir döngü kullanmak mümkün olacaktır.
Veri Yapıları İle Döngülerin Kullanımı
Python'da döngülerin kullanabileceği farklı veri yapıları bulunmaktadır. Bu veri yapıları ile döngülerin kullanımı oldukça sık rastlanan bir durumdur. Örneğin, liste gibi bir veri yapısında bulunan öğelerin tek tek döngü içinde işlenmesi gerektiğinde for döngüsü kullanılır.
Örneğin, aşağıdaki kod örneğinde, bir liste içindeki tüm öğeleri ekrana yazdırmak için for döngüsü kullanılır:
liste = ["Elma", "Armut", "Kiraz"]for meyve in liste: print(meyve)
Bu örnekte, 'liste' adlı veri yapısındaki öğeler tek tek 'meyve' isimli değişkene atanır ve her döngü tekrarında, değişken ekrana yazdırılır.
Bunun yanı sıra, sözlük gibi bir veri yapısı içindeki öğelerin döngü yardımıyla işlenmesi gerektiğinde, for döngüsü kullanılır. Sözlük içindeki anahtar ve değerler tek tek döngü yardımıyla elde edilerek işlenir.
- Öğe1: Değer1
- Öğe2: Değer2
- Öğe3: Değer3
Örneğin:
sozluk = {"Ocak":31, "Şubat":28, "Mart":31}for ay, gun in sozluk.items(): print(ay + " ayı " + str(gun) + " gün çeker.")
Bu örnekte de, 'sozluk' adlı veri yapısı tarafından döndürülen anahtar ve değerler tek tek 'ay' ve 'gun' isimli değişkenlere atanır ve her döngü tekrarında, öğeler ekrana yazdırılır.