Python Hazır Kodlar


Python: Python Dersleri 25: For Döngüsü Deyimleri: Break, Continue, Range, Enumerate, Zip

Kodu Kopyala
#Python: Python Dersleri 25: For Döngüsü Deyimleri: Break, Continue, Range, Enumerate, Zip
#Döngü Deyimleri
################################################################
#Dögülerde break ve continue deyimleri de önemlidir.
#BREAK kelimesi sonlandırmak anlamında olup CONTINUE ise devam etmek anlamındadır.
#Buradaki iki deyim önemlidir. Örneklerle kullanım şeklini izah edelim.
#break deyimi döngüyü sonlandırır.
for sayi in range(1000,2000):
    if sayi%122==0:
        print(sayi, "sayısı 122'ye bölünmektedir.")
        break
#Bu örnekte eğer belirtilen sayı 122'ye bölünüyorsa break komutu devreye girer ve döngüyü sonlandırır.
#Continue deyimi ise döngüyü devam ettirir fakat continue deyimi geçen satırın altında olup da döngünün parçası olan kodları okumaz, doğrudan döngünün başına geçer.
for sayi in range(1500,2000):
    if sayi%122!=0:
        continue
    print(sayi, "sayısı 122'ye bölünmektedir.")
    break
"""
Bu örnekte de görüldüğü gibi eğer 122'ye bölündüğünde sıfır dışında bir kalan verirse continue çalışıyor ve döngünün diğer kodları olan (print(sayi, "sayısı 122'ye bölünmektedir."))
ve (break) satırları atlanıyor. Yani hiç okunmuyor. Eğer if koşulu içindeki durum gerçekleşmezse, yani sayı 122'ye bölünür olursa bu durumda continue kodu devreye girmediği için alttaki kodlar çalışıyor.
Önce sayı yazılmış oluyor ve sonra break kodu ile döngü sonlandırılıyor. Böylece diğer sayılara bakılmıyor.
"""
#Dikkat: break ve continue deyimleri WHILE döngüsü bölümünde detaylı şekilde anlatılmıştır. 
####
#For ile birlikte sık kullanılan range() fonksiyonunu inceleyelim:
for sayi in range(10):
    print(sayi)
#Görüldüğü gibi sadece 10 yazarsak, yani tek parametre olursa 0-9 arası sayıları getiriyor. 10 dahil değildir. Adım sayısı ise 1'dir.
for sayi in range(15,25):
    print(sayi)
#Yukarıda 15-24 arası sayıları getirir. Adım sayısı 1
for sayi in range(15,255,4):
    print(sayi)
#15 ile 254 arası sayıları getirir. Adım sayısı 4 oldu.
for sayi in range(255,15,-1):
    print(sayi)
#Bu kısma dikkat! Burada 255'ten başlayarak 15'e kadar (15 hariç) -1 adımda listeler. Dikkat edilirse adım sayısı -1 yazıldığı için 255 öne yazıldı, 15 ise arkaya yazıldı.
for sayi in range(255,15,-12):
    print(sayi)
#Range kullanırken döngü yapmak zorunda değilsiniz. Aşağıdaki ifade 0-100 arası sayıları verir.
print(*range(100),sep="->")
#0-100 arası sayıları bir listeye atamak isterseniz aşağıdaki gibi yapabilirsiniz.
liste=list(range(100))
print(liste)
#Sonuç olarak diğer araçları ve özellikleri kullanarak döngü oluşturmadan da bazı işlemleri gerçekleştirebilirsiniz. Eğer yukarıdaki işlemi döngü ile yaparsanız:
liste=list()
for sayi in range(100):
    liste.append(sayi)
print(liste)
#Tek satırda yapılabilecek işlem döngü ile 3 satırda yapıldı!
########################################################################
#İlerleyen aşamalarda liste üreteçlerinde sıklıkla kullanacağımız bir husus ise RANGE yöntemi ile liste üretmektir. Aşağıdaki örnekleri inceleyiniz:
liste=list(range(1,101,4))#1-101 arasındaki sayılar (101 hariç) 4'er atlanarak oluşturulmuş ve bunlar listeye dönüştürülmüştür. Aşağıdaki örnekte ise bunlar kümelere ve demetlere dönüştürülmüştür.
print(liste)
kume=set(range(1,101,4))
print(kume)
demet=tuple(range(1,101,4))
print(demet)
############################################
#Aşağıdaki örneği inceleyiniz:
kelime="Merhaba"
sayi=0
for harf in kelime:
    print("İndeks numarası {} olan harf: {}".format(sayi,harf))
    sayi+=1
#Bunu bir de listeye dönüştürerek yapalım:
sayi=0
liste=list(kelime)
for eleman in liste:
    print("İndeks numarası {} olan harf: {}".format(sayi,eleman))
    sayi+=1

#################
#ENUMERATE kodu bize belli bir nesnenin elemanlarını numaralandırmak için kullanılır. Sonucu bir demet şekline dönüştürür.
cumle="Bugün dünyada güzel şeyler olacak."
numarali=enumerate(cumle)
for eleman in numarali:
    print(eleman)
#Yukarıdaki örnekte görüldüğü gibi numarali değişkeninin her bir elemanı TUPLE cinsinden üretildi.
#Buna karşın aşağıdaki kod bize sonucu bu şekilde üretmez:
print(numarali) #SONUÇ: <enumerate object at 0x000001E2B5B43B40>
print(type(numarali)) #SONUÇ: <class 'enumerate'>
#Burada yer alan enumerate fonksiyonu döngülerde indeks numarası vermek için kullanılabilir:
for sayi, harf in enumerate(cumle):
    print("{} indeks numaralı harf: {}".format(sayi, harf))
#Bu fonksiyon listeler için de kullanılabilir:
liste=["Ahmet","Mehmet","Ali","Veli"]
yeni_liste=list(enumerate(liste))
print(
    yeni_liste
)
#enumerate fonksiyonunu istediğimiz sayıdan da başlatabiliriz:
yeni_liste=list(enumerate(liste,start=20)) # enumerate(liste,20) yazmak da yeterli olacaktır.
print(
    yeni_liste
)
######################
#ZIP fonksiyonu da listelerin elemanlarını birleştirip her bir elemanı demet olan yeni bir nesne üretir. Bu nesneyi görüntülemek için yeniden listeye çevirmeniz gerekir.
liste1=[1,2,3]
liste2=["a","b","c"]
yeni_liste=list(zip(liste1,liste2)) #Yeniden liste vb. bir nesneye çevirmek gerekir ki görüntülenebilsin.
print(yeni_liste)
#Eğer aşağıdaki gibi doğrudan yazdırmak istersek:
print(
    zip(liste1,liste2) #SONUÇ:  yani zip nesnesi olur.
)
#Dilerseniz sözlüğe de çevirebilirsiniz. Bu durumda biri anahtar, diğeri değer olarak atanacaktır.
sozluk=dict(zip(liste1,liste2))
print(sozluk) #SONUÇ: {1: 'a', 2: 'b', 3: 'c'}
#Eğer her iki listenin eleman sayıları eşit değilse bu durumda elemanı az olanı baz alır ve elemanı çok olanın diğer elemanlarını dikkate almaz.
liste1=[1,2,3,4]
yeni_liste=list(zip(liste1,liste2))
print(yeni_liste)#liste1 toplam 4 elemanlı fakat ilk 3 elemanı baz aldı.
#ZIP kullanarak dilediğiniz kadar listesi yan yana ekleyebilirsiniz. Sadece 2 ile sınırlı kalmanız gerekmez.
#Özellikle döngüler oluşturulurken listeleri birlikte kullanmak isterseniz ZIP fonksiyonu işinize yarayacaktır.
isim_listesi=["Abdullah Kaya","Abdulselam Ozarslan","Ahmet Aras","Ahmet Demirkol","Ahmet Turunç","Ali Rıza Kıldeş","Asım Dursun","Atalay Gençel","Aydın Tarı","Cüneyt Güçün","Damla Fidan","Deniz Berkay Çiçek","Derya Arıkboğa","Elif Aslan","Emine Torun","Erkan Yüzgeç","Faruk Uzman","Fatih Erdem","Fırat Kaya","Gülşah Zaman","Haluk Kazanasmaz","İbrahim Esmer","İhsan Akkuş","İzzet Bozkurt","Mehmet Akif Çelik","Mehmet  Esen","Mesut Burak Derge","Muhammed Vurulmaz","Murat Göğebakan","Mustafa Demirel","Mustafa Kalkan","Mustafa Utkun","Necat Aslan","Onur Utku Yüksel","Seyfettin Yanık","Tahsin Aytekin"]
departman_listesi=["Pazarlama","Bilgi İşlem","Yönetim","Finans","Yönetim","Muhasebe","Finans","Bilgi İşlem","Pazarlama","İnsan Kaynakları","Finans","Pazarlama","Bilgi İşlem","İnsan Kaynakları","Üretim","Yönetim","İnsan Kaynakları","Pazarlama","Pazarlama","İnsan Kaynakları","Pazarlama","İnsan Kaynakları","Yönetim","Muhasebe","Pazarlama","Muhasebe","Yönetim","Üretim","Pazarlama","Pazarlama","Finans","Pazarlama","Muhasebe","Pazarlama","Pazarlama","Üretim"]
maas_listesi=[9822,18930,15814,12620,16332,14845,12473,14407,18672,15733,10347,16122,10818,18061,14370,15879,14603,16023,11796,14045,9993,17752,11701,14080,17029,9392,15018,14665,10900,9592,17137,9321,10777,18382,11092,9781]
"""Burada görüldüğü gibi çeşitli departmanlarda yer alan çalışanların listesi var. Bunların isimleri, departmanları 
ve maaşları ayrı listeler halinde tutulmuştur. Şimdi bu verileri kullanarak şu işlemleri yapalım:
1. Departman adlarını birer defa getirelim. Böylece hangi departmanlar olduğunu görelim.
2. "Muhasebe" departmanı çalışanlarına %30, "Üretim" departmanına %25 ve diğer departmanlara %20 zam yapılacaktır.
3. Bu üç listeyi birleştirip bir sözlük yapalım. Sözlüğün anahtarı isimlerden oluşsun ve değer ise departman ve maaşı içeren 2 elemanlı bir liste olsun. 
"""
#Her bir departmanın adını birer defa getirmek için bunu kümeye çevirmemiz yeterlidir.
print(set(departman_listesi))
#Departmanların zam oranlarını belirlemek için üç listeyi birleştirmek gerekir.
yeni_maaslar=list()
zam_orani=list()
for adi, departman, maas in zip(isim_listesi,departman_listesi,maas_listesi):
    if departman=="Muhasebe":
        yeni_maaslar.append(round(maas*1.3,2))
        zam_orani.append(0.3)
    elif departman=="Üretim":
        yeni_maaslar.append(round(maas*1.25,2))
        zam_orani.append(0.25)
    else:
        yeni_maaslar.append(round(maas*1.2,2))
        zam_orani.append(0.2)
print(
    list(zip(isim_listesi,departman_listesi,maas_listesi,zam_orani,yeni_maaslar))
)
#Sonuçları bir döngü ile getirelim:
for isim, departman, eski_maas, zam, yeni_maas in zip(isim_listesi,departman_listesi,maas_listesi,zam_orani,yeni_maaslar):
    print("{} adındaki çalışanın deparmanı {} olup eski maaşı {} TL, zam oranı {} ve yeni maaşı ise {} TL'dir.".format(isim,departman,eski_maas,zam,yeni_maas))







Hata ile ilgili görüşlerinizi aşağıdaki kutuya yazabilirsiniz.
Hata bildir

TÜM PYTHON KODLARI Youtube Kanalımız
Aşağıdaki makrolar işinize yarayabilir.
Benzer Sonuçlar
NoPython Kodu
1 Python Dersleri 25: FOR Döngüsü Deyimleri: Break, Continue, Range, Enumerate, Zip
2 Python Dersleri 26: While Döngüsü
3 Python Dersleri 27: Döngülerde ELSE Deyimi
4 Python Dersleri 23: FOR Döngüsü
5 Python Dersleri 24: FOR Döngüsü Uygulamaları
6 Python Dersleri 19: Sözlük Fonksiyonları
7 Python Dersleri 22: Kümeler (Sets)
8 Python Dersleri 18: Sözlük Uygulamaları
9 Python Dersleri 21: Demet (Tuple) Uygulamaları
10 Python Dersleri 20: Demetler (Tuples)
11 İngilizce Türkçe sözlük yapımı
12 Hataları yakalamak ve hata deyimlerini kullanmak / TRY, EXCEPT, ValueError, ZeroDivisionError vb. hatalar ile ilgili işlemler Örnek olarak sıfıra bölme hatasının önüne geçme işlemi
13 Bir metin içerisinde aranan harften kaç tane var?
14 Sinüs (sin) hesaplama işlemleri
15 İki nesnenin veya iki değerin aynı olup olmadığını tespit etmek. "Nesne (Object)" kavramı ile "Değer (Value)" arasındaki farklar
16 EVAL formülü nasıl kullanılır? Basit bir hesap makinesi uygulaması.
17 Çalışmakta olduğunuz Python dosyasının nerede ve hangi dizin içerisinde olduğunu tespit etmek
18 Metin birleştirmek ve birleşik metinler içerisinde harf aramak
19 Bir yazı içerisindeki karakter/cümle/kelime sayısını tam tespit etmek ve detaylara göre inceleme yapmak
20 Kullanılmakta olan Python dilinin versiyonunu görüntülemek


aaaaa