1. Ana Sayfa
  2. Python

Python Yapay Zeka Günlüğü #5 – Loop – Döngüler

Python Yapay Zeka Günlüğü #5 – Loop – Döngüler
+ - 1

Merhabalar, Python Yapay Zeka Günlüğü #5  yazısı ile phyton öğrenme serüvenime 4. yazısı ile devam... Bu yazım Python Loop – Döngüler konusu üzerine olacak. Loop konusu her programlama dilinde var olan, olmazsa olmazlardandır.

Python Yapay Zeka Günlüğü #5 – Loop – Döngüler

Python For Loop

Loop / Döngü, belirlenen bir aralık arasındaki tüm ögeler için işlemler yapan ya da bir şart sağlanıncaya kadar verilen işlemi yapmaya devam eden yapılardır.  Kısacası verilen sayı kadar işlem yapan yapılardır diyebiliriz. Şimdi örneklere geçelim.

for item in range(1,11): # 1 dahil, 11 hariç.
    print(item)

Yukarıdaki örnekte, range metodu ile 1 ile 11 arasındaki sayı adedi kadar dönmesini istediğimiz bir for loop görülmektedir. Döngünün her dönüşünde alınan değer (item) ekrana yazdırmaktadır.

for item in "mustafa bükülmez": # tüm karakterleri tek tek alt alta yazar
    print(item)

NOT: C# ‘ta for loop‘lar verilen bir sayı kadar döner ve her dönüş (varsayılan olarak) i değişkeni ile index tutulur. Ancak Python’da durum farkı. Yukarıdaki örneğe göre anlatmak gerekirse, item değişkeni,  verilen string içerisindeki harfleri tutacaktır. Yani yukarıdaki kod “mustafa bükülmez” değişkeni ile çalıştırıldığında tüm harfleri alt alta yazmış olacak. Yani Python’da for döngüleri index tutmuyor. Eğer index tutulması istenir ise dışarıda bir değişken tanımlanıp for döngüsü içerisinde birer birer arttırılması gerekmektedir.

for item in "mustafa bükülmez".split(): # boşluktan ayırarak iki parça yapar.
    print(item)

Bu örnekte for loop ile split() metodu kullandık. Split() metodu parametre olarak gönderilen karaktere göre solundaki değeri parçalar. (Bir parametre almaz ise ” ” boşluk gördüğü yerden metni parçalar)

Burada split() metodu “mustafa bükülmez” değerini, boşluktan ayırarak  “mustafa” “bükülmez”   şeklinde getirir. For loop çalıştırıldığında, ekrana metnin parçaları yazılır. Bu noktada çıktı kelimelerin alt alta yazılması olacaktır.

Örnekler

Bir List içerisindeki tüm değerleri toplayalım. sum() metodu ile kolayca toplama yapabiliriz ancak biz bunu for loop ile yapmak istiyoruz.

mylist = [1,2,3,4,5,6,7,8,9,10]
print(sum(mylist)) # list içindeki tüm değerleri toplar

toplam = 0  
for item in mylist:
    toplam = toplam + item    
print(toplam)

Örnekte gördüğünüz gibi, bir değişken tanımlayarak for loop içerisinde list’ten alınan ve item değişkenine alınan değerleri toplam değişkenine ekliyoruz.

İki parametre alan bir user defined function (default değer parametreli olacak) yapın. Metot içerisindeki for loop , default parametre kadar dönecek her her dönüşünde, bir değişkene ilk parametresini ekleyecek.

def s(x, y = 2):
    c = 2
    for i in range(y):
        c = c + x
    return c
s(2) # Çıktı: 6
s(2,3)  # Çıktı: 8

Örneği incelersek;

  • Bir normal ve default değeri olan bir metodumuz var.
  • Metodumuzda bir c değişkeni tanımladık.
  • for loop tanımladık ve bu loop default değer alan parametre sayısı kadar dönecek.
  • her dönüşünde, c değişkeni ile x parametresinden gelen değeri toplayacak ve sonucu c değişkenine atayacak.
  • c değişkeni dönüş verilecek.

 

Python While Loop

While Loop‘ta yine C# ‘ta olan ama benim neredeyse hiç kullanmadığım bir döngü türüdür.

While Loop, belirli bir şart sağlanana kadar dönmeye devam eden bir döngü türüdür. Örneğin bir değişkenimiz var. 1 olsun. Biz bu değişkenimiz 10 olana kadar işlem yapmasını istiyor olalım. Bu durumda While loop en iyi yöntemdir. Hemen örnek üzerinde görelim.

i = 0
while (i < 10):
    print(i)
    i=i+1

Yukarıdaki örnekte gördüğünüz gibi While loop, i değişkeni 10 olana kadar dönecektir.

Ancak burada print(i) metodunun çıktısına baktığımızda 0’dan başladığını ve 10 sayısının yazılmadığını göreceğiz. Burada i değişkenini yazdırmadan önce arttırsaydık, 1 den başlayıp 10’a kadar ekran yazıdırılacaktı.

c = 1
while c < 7:
    print(c)
    if c == 4:
        break
    c += 1

Yukarıdaki örneğe baktığımızda c değişkeni 7 olana kadar dönsün istedik. Ancak loop içerisinde eğer c = 4 olursa döngüden çıkılmasını istedik. Bu durumda ekran 1,2,3,4 yazılacaktır. Çünkü eşitlik sağlandığı anda loop break olacak yani kırılacaktır/sonlanacaktır.

Örnek

1 ile 10 arasındaki sayıların toplamını alalım. (1 ve 10 dahil)

mylist = [1,2,3,4,5,6,7,8,9,10]
count = len(mylist)
toplam = 0
i = 0
while (i < count):
    toplam  = toplam + mylist[i]
    i = i + 1
print(toplam)

Örneği incelersek;

  • İlk olarak bir list tanımlaması yaptık ve 1’den 10’a kadar olan sayıları yazdık.
  • Sonra, loop’un kaç kere döneceğini belirlemek için list’in count’unu (eleman sayısı) aldık.
  • Toplamı tutacağımız ve index’i takip edeceğimiz birer değişken tanımladık.
  • while loop’a başladık
  • Tuttuğumuz index numarasına göre, mylist ‘in elemanlarını toplam değişkenine ekledik.
  • İndex’i tuttuğumuz i değişkeninin bir arttırdık.

NOT: Programlama saymaya 0 dan başlandığı için (İndex) işlem ler yapıldıktan sonra i değişkenini bir arttırıyoruz.

QUIZ

Bir quiz ile yazımızı bitirelim

Verilen listenin içindeki en küçük sayıyı döngü ile bulunuz.

Bu soruyu çözebilecek 3 yol vereceğim. En kısa yoldan uzun yola doğru…

#YOL I
max(liste)
min(liste)


#YOL II
liste = [1,2,3,4,5,6,4,23,21,-500,23,451,67]    
liste.sort() # listeyi sıraladık
print(liste[0])  # ilk sayı en küçüktür
print(liste[-1]) # son sayı en büyüktür

#YOL III
minmm = 1000
for item in liste:
    if(item < minmm):
        minmm=item
    else:
        continue    
print(minmm)

Yukarıdaki kod bloklarında 3 farklı yol vardır.

İlk yol en kısa yoldur. Max() ve Min() metodları ile anında en büyük ve en küçük sayıları bulabiliriz.

İkinci yol, listedeki sayıları Sort() metodu ile büyükten küçüğe sıralarız ve en küçük (ilk eleman) ve en büyük (son eleman) sayıları alırız.

Sorunun doğru çözümüne gelirsek;

  • Öncelikle, listedeki en büyük sayıdan daha büyük bir sayı belirledik.
  • liste üzerinden bir for loop başlattık. (her dönüşte, item değişkeni, liste içindeki sıradaki değeri alır.)
  • Eğer listeden alınan değer, belirlediğimiz sayıdan küçük ise belirlediğimiz değişkenin yeni değeri olsun
  • Değilse, Continue komutu ile hiçbir işlem yapmadan döngüye devam et.

Bu şekilde, listedeki tüm elemanları gezerek, en küçük sayıyı buluyoruz.

 


Python Yapay Zeka Günlüğü #5 – Loop – Döngüler yazımda bu kadardı arkadaşlar..

Diğer yazılarımda görüşmek üzere… Buraya tıklayarak tüm Python yazılarıma ulaşabilirsiniz.

NOT: Arkadaşlar bu yazıları yeni öğrenen birine ders anlatır gibi yazıyorum. Bunun sebebi ise bir süre sonra geri dönüp baktığımda net olarak hatırlayabileyim diye ve benim yazılarıma ulaşan insanların da anlayabilsin diye…

Sağlıcakla ve Takipte kalın. :)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Yorumlar (1)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.