Pythonda Döngüler(For ve While Döngüsü)

Sevgili okurlar hepinize merhaba,

Bugün sizlere sadece Python da değil, programlamanın temellerinden bir konu olan “döngülerden” bahsedeceğim.

İlk olarak döngülerin mantığı nedir isterseniz ona bir göz atalım:

Bazen yazdığımız bir kodda, kodun birden daha fazla çalışmasını isteyebiliriz ve bu konuda döngülerden yardım alabiliriz. İsterseniz durumu birkaç örnekle anlamaya çalışalım.

Örneğin; ekrana 10 kez “Merhaba Dünya” yazmak isteyelim. Bunu tek tek 10 kez “print” komutu ile yazabilirsiniz. Fakat bu hem hız hem de performans açısından tercih edilir bir yöntem olmayacaktır. Bunun yerine döngüleri kullanarak 10 satırlık kodu birkaç satır ile sınırlayabiliriz ve bu sayede hem hız hem de performans açısından daha verimli bir kod yazmış oluruz.

WHİLE DÖNGÜSÜ:

While döngüsünü anlatmaya başlamadan önce “while” sözcüğünün kelime anlamına bakalım. “While” sözcüğünün Türkçe anlamı “-iken” şeklindedir. Yani bu ne demek oluyor. Biz “while” döngüsüne bir koşul durumu belirteceğiz (örn: a<b) ve bu koşul durumu sağlanana kadar bize o kod bloğunun çalışmasını sağlayacak.

Gelin “while” döngüsünün yazılışına bir bakalım.

while (koşul):
     Yapılacaklar...

İsterseniz bir örnekle konuyu pekiştirmeye çalışalım.

Yukarıda vermiş olduğumuz şekilde ekrana 10 defa “Merhaba Dünya” yazdırmayı deneyelim.

a = 0
while (a<10):
    print("Merhaba Dünya")
    a = a+1

Burada “a” isminde bir değişken tanımladık ve “while” döngüsüne “a” değeri 10’dan küçük olana dek “Merhaba Dünya” yaz dedik.

FOR DÖNGÜSÜ:

“For” döngüsünün mantık olarak “while” döngüsünden pek bir farkı yok fakat elimizde yukarıdaki örnekteki gibi sadece “a” değeri yoksa ne olacak? Birden fazla değerin olduğu bir listemizin olduğunu düşünelim peki ne yapacağız?

İşte burada “for” döngüsü işin içine giriyor. Bu durumda “for” döngüsünün kullanımını bir görelim:

for değer in dizi,seri:
       Yapılacak işlemler....

Belki ilk görüşte anlamayabilirsiniz fakat ufak bir örnek bize yardımcı olacaktır.

values = [1,2,3,4,5,6,7]
for i in values:
    print(i,". Değer")

Burada yaptığımız işi anlatacak olursak. “Values” isimli bir liste tanımladık ve for döngüsü ile listenin içinde gezinmeye başladık. “i” değerini burada “values” listesinde gezdiği kaçıncı eleman gibi düşünebiliriz.

1-) İlk olarak “values” listesinin 0. indexi(yani 1 değeri)

2-)İkinci olarak “values” listesinin 1. indexi(yani 2 değeri) şeklinde devam eder…..

BREAK VE CONTİNUE KOMUTLARI:

Break

Buraya kadar “for” ve “while” döngülerini gördük. Bazı durumlarda döngüden çıkmak veya döngünün yapacağı bazı işlemleri atlamak isteyebiliriz. Bu durumlarda bize “break” ve “continue” komutları yardımcı oluyor.

“Break” komutu isminden anlaşılacağı üzere “kırmak” anlamına geliyor. Yaptığı iş ise kod satırını kırıp(mecaz anlamda) sonraki komutlarla devam etmek.

İsterseniz yukarıda vermiş olduğumuz örnekte inceleyelim.

values = [1,2,3,4,5,6,7]
for i in values:
    print(i,". Değer")
    break

Burada yukarıdaki örneğe ek olarak gördüğünüz sadece “break” komutu var. Bu komut ile birlikte ilk değer olan “1 . Değer” yazıyor ve döngüyü kırıyor ve döngüden çıkıp sadece ekrana “1. Değer” yazdırıyor.

Continue

Continue komutuna geldiğimizde ise bu komutunda adından anlaşılacağı üzere “devam etmek” anlamına geliyor.Yaptığı iş ise “es geçmek” evet yanlış duymadınız bu komut sayesinde bazı işlemleri es geçebiliyoruz.

Hemen bir örnekle pekiştirmeye çalışalım.

values = [1,2,3,4,5,6,7,8,9,10]
for i in values:
   if i%2==0:
        continue
   else:
        print(i)

Buradaki kod bloğunda ise “values” isimli bir listemiz var ve “for” döngüsü ile bu listenin içinde dolaşıyoruz. Sayının çift olma durumunu karşılayan bir duruma geldiğimiz zaman “continue” komutu ile if bloğundan çıkıyor ve “else” bloğuna geçiyor. Bu sayede bazen koşul sağlansa bile yaptırmak istemediğimiz işlemlerden kurtulabiliyoruz.

KAYNAKÇA

https://www.learnpython.org/en/Loops

https://wiki.python.org/moin/ForLoop

https://www.programiz.com/python-programming/for-loop

https://www.tutorialspoint.com/python/python_loops.htm

https://www.geeksforgeeks.org/loops-in-python/