#Python: Python Dersleri 24: For Döngüsü Uygulamaları
#FOR Döngüsü Uygulamaları
calisan_listesi={
"Abdullah Kaya":13711,
"Abdulselam Ozarslan":13296,
"Ahmet Aras":13531,
"Ahmet Demirkol":14367,
"Ahmet Turunç":14768,
"Ali Rıza Kıldeş":14109,
"Asım Dursun":14860,
"Atalay Gençel":13959,
"Aydın Tarı":13247,
"Cüneyt Güçün":13337,
"Damla Fidan":11670,
"Deniz Berkay Çiçek":13599,
"Derya Arıkboğa":12982,
"Elif Aslan":10642,
"Emine Torun":11997,
"Erkan Yüzgeç":11274,
"Faruk Uzman":13994
}
net_maaslar=dict()#Önce net maaşlar ile ilgili bir sözlük oluşturduk. Burada amacımız net maaşlar ile ilgili de benzer şekilde bir sözlük oluşturup buraya atama yapmaktır.
for kisi in calisan_listesi:#Burada kisi değişkenine ilgili sözlüğün anahtarı atanır.
brut_maas=calisan_listesi[kisi]
SGK_Sonrasi_Kalan=brut_maas*0.8#%20 SGK kesintisi sonrası kalan tutar hesaplandı.
net_maas=SGK_Sonrasi_Kalan*0.85#Vergi sonrası net maaş tespit edildi.
net_maaslar[kisi]=round(net_maas,2)#Virgülden sonra 2 basamak bıraktık. Yoksa çok uzun bir küsürat çıkabilir.
print(net_maaslar)
#Dilerseniz net maaşları teker teker de yazdırabilirsiniz.
for kisi in net_maaslar:
print(kisi,"adındaki çalışanın brüt maaşı",calisan_listesi[kisi],"TL ve net maaşı ise",net_maaslar[kisi],"TL'dir.")
#İşi bir adım daha ileri alalım ve herkes için birer adet WORD dosyası oluşturalım. Word dosyasının adı çalışanın adı olsun. İçinde de hem brüt maaşı ve hem de net maaşı yazılı olsun. Bunu yapmak için önce masaüstüne bir LİSTE adında klasör oluşturun.
klasor="C:/Users/Kenan Çılman/Desktop/LİSTE/"
for kisi in calisan_listesi:
dosya=open(klasor+kisi+".doc","w")#Burada ilk kişi için "C:/Users/Kenan Çılman/Desktop/LİSTE/"+"Abdullah Kaya"+"doc" adında (yani "C:/Users/Kenan Çılman/Desktop/LİSTE/Abdullah Kaya.doc" adında) bir dosya açtık.
print(kisi, "adındaki çalışanın brüt maaşı", calisan_listesi[kisi], "TL ve net maaşı ise", net_maaslar[kisi],"TL'dir.", file=dosya)#Dosyaya ilgili bilgiler yazıldı.
dosya.close()#İlgili dosya kapatıldı.
#Yukarıda görüldüğü gibi ilgili klasörde herkes için birer dosya açıldı ve içeriği yazıldı.
#Bir klasördeki dosya isimlerini çekmek için şöyle bir işlem yapılabilir:
import os
dosyalar=os.listdir("C:/Users/Kenan Çılman/Desktop/LİSTE/")#Bu kod, ilgili klasördeki her bir dosya adını dosyalar adındaki değişkene atar. dosyalar değişkeni bir LİSTEdir. Ona dikkat edin.
print(*dosyalar,sep="\n")
#Bunları teker teke göstermek isterseniz:
for dosya in dosyalar:
print(dosya,"adındaki dosyanın adının uzunluğu:",len(dosya))
"""
Aşağıdaki örnekte ise bir şirketin çeşitli ülkelerde yapmış olduğu satışlar görünmektedir. Bunlar bir listeye atanmıştır.
Örneğin ilk satış incelendiğinde ["İngiltere",12800] ifadesi liste içinde bir liste olup İngiltere'de
12800 TL'lik satış yapılmıştır.
Amacımız burada kullanıcıya ülke adı sormak ve sorulara göre satışları hesaplamak.
"""
satislar=[
["İngiltere",12800],
["Türkiye",3240],
["İspanya",3800],
["İngiltere",11200],
["ABD",15300],
["İspanya",2600],
["ABD",3500],
["İngiltere",2450],
["ABD",1400],
["Çin",9000],
["Çin",5870],
["Almanya",10000],
["ABD",600],
["ABD",980],
["ABD",750],
["Türkiye",9520],
["Çin",1480],
["Çin",1280],
["ABD",18600],
["İspanya",7840],
["Türkiye",22100],
["Çin",3620],
["ABD",1900],
["İspanya",3280],
["Çin",3000],
["İngiltere",26400],
["Çin",1250],
["Türkiye",2590],
["İspanya",6800],
["İspanya",6240],
["Çin",4500],
["İngiltere",14800],
["ABD",26250],
["İspanya",9560],
["Almanya",1200],
["İspanya",1700],
["İngiltere",3410],
["ABD",16750],
["İspanya",4200],
["Çin",4500],
["İngiltere",15200],
["İspanya",17000],
["Türkiye",7800],
["Türkiye",6800],
["Türkiye",1540],
["Türkiye",6870],
["İngiltere",5800],
["Türkiye",7500],
["Türkiye",1700],
["Çin",6500],
["İngiltere",2500]
]
print(len(satislar),"-"*30)
ulke=input("Lütfen ülke adı giriniz:")
toplam_tutar=0#Bu değişken eğer ülke ismi bizim aradığımız ülke ile eşitse toplamını tutmak için atanmıştır.
adet=0#Aradığımız ülkeden kaç tane olduğunu bulmak için oluşturuldu.
for sonuclar in satislar:
#print(sonuclar[0],sonuclar[1])#sonuclar[0] ülke adını verir, sonuclar[1] ise tutarı verir.
if sonuclar[0].upper().lower()==ulke.upper().lower():#Burada sonuclar[0]==ulke yazmak da yeterli olabilirdi. Fakat kullanıcı bazen büyük/küçük harf hatası yapabilmektedir. Bunu aşmak için bu işlem uzatıldı.
toplam_tutar+=sonuclar[1] #Eğer aranan ülke çıkarsa bu durumda onun toplam tutarı eklenecektir.
adet+=1#Aranan ülke bulunursa bu durumda toplam kaç kere geçtiği tespit edilmektedir. Her bulunduğunda bir adet artırılıyor.
print(ulke,"ülkesinde yapılan toplam satış tutarı",toplam_tutar,"TL'dir. Ortalaması ise",round(toplam_tutar/adet,2), "TL'dir.")
#Örneği biraz daha geliştirelim. Aynı zamanda o ülkede yapılan ürünlerin satışlarını da filtreleyelim:
#Bu örnekte ülke, satılan ürün ve tutar belirtilmiştir. Amacımız belirtilen ülkede yapılan toplam satış tutarı, ortalaması ve satılan ürünlerin listesini tespit etmektir.
satislar=[
["İngiltere","Bilgisayar",12800],
["Türkiye","Duvar Tipi",3240],
["İspanya","Kuru Süpürgeler",3800],
["İngiltere","Ütü",11200],
["ABD","Halı Yıkama Makineleri",15300],
["İspanya","Fırın",2600],
["ABD","Salon Tipi",3500],
["İngiltere","Kuru Süpürgeler",2450],
["ABD","Siemens",1400],
["Çin","Salon Tipi",9000],
["Çin","Televizyon",5870],
["Almanya","Doğalgaz Isıtıcısı",10000],
["ABD","Doğalgaz Isıtıcı",600],
["ABD","Kuru Süpürgeler",980],
["ABD","Pencere Tipi",750],
["Türkiye","Termosifon",9520],
["Çin","Şofben",1480],
["Çin","Ütü",1280],
["ABD","DVD-Video",18600],
["İspanya","Motorola",7840],
["Türkiye","Motorola",22100],
["Çin","Müzik Seti",3620],
["ABD","Bulaşık Makinesi",1900],
["İspanya","LCD-TV",3280],
["Çin","Bulaşık Makinesi",3000],
["İngiltere","Nokia",26400],
["Çin","Pencere Tipi",1250],
["Türkiye","Pişirici",2590],
["İspanya","Halı Yıkama Makineleri",6800],
["İspanya","Çamaşır Makinesi",6240],
["Çin","Doğalgaz Isıtıcı",4500],
["İngiltere","Çamaşır Makinesi",14800],
["ABD","Vantilatör",26250],
["İspanya","Kombi",9560],
["Almanya","Bulaşık Makinesi",1200],
["İspanya","Isıtıcı",1700],
["İngiltere","Termosifon",3410],
["ABD","Şofben",16750],
["İspanya","Duvar Tipi",4200],
["Çin","Siemens",4500],
["İngiltere","Buzdolabı",15200],
["İspanya","Vantilatör",17000],
["Türkiye","Setüstü Ocak",7800],
["Türkiye","LCD-TV",6800],
["Türkiye","Nokia",1540],
["Türkiye","Halı Yıkama Makineleri",6870],
["İngiltere","Duvar Tipi",5800],
["Türkiye","Fırın",7500],
["Türkiye","Isıtıcı",1700],
["Çin","Kuru Süpürgeler",6500],
["İngiltere","Televizyon",2500]
]
filtre=list()#Burada filtrelenen verileri tutmak için böyle bir LİSTE oluşturuldu.
ulke=input("Lütfen ülke adı giriniz:")
toplam_tutar=0
adet=0
for sonuc in satislar:
if ulke==sonuc[0]:
toplam_tutar+=sonuc[2]#Tutarların indeks numarası 2'dir.
adet+=1
filtre.append(sonuc)
print(ulke,"ülkesinde yapılan toplam satış tutarı",toplam_tutar,"TL'dir. Ortalaması ise",round(toplam_tutar/adet,2), "TL'dir. Bu ülkede yapılan satışlar ise aşağıda listelenmiştir.")
print(filtre)
###########################################
#Bu örnekte şifre sorulacak. Eğer girilen şifre 8 karakterli ise içinde ş,ö gibi harfler geçiyorsa bu durumda şifrenin hatalı olduğu belirtilecektir.
sifre=input("Lütfen şifrenizi giriniz:")
yasakli_harfler="çğıöşüÇĞİŞÜ"
if len(sifre)==8:
for harf in yasakli_harfler:
if harf in sifre:
print("İlgili şifre içinde yasaklı harf olan", harf, "geçmiştir. Bu nedenle şifre geçersizdir.")
quit()#Bu fonksiyon, şifre yanlış olduğunda programı kapatması için vardır.
else:
print("Şifrenizin uzunluğu 8 karakterli olmak zorundadır.")
###########################################
#Bir döngü örneği daha yapalım. Kullanılan cümlelerde bazen Türkçe karakterler olmakta ve biz mail yazarken bunu İngilizce karakterler ile değiştirmek istiyoruz. Örneğin "ö" harfini "o" ile değiştirmemiz gerekir.
#Bu işlem için önce bir sözlük oluşturalım:
karakter_degisikligi={
"ç":"c",
"ğ":"g",
"ı":"i",
"ö":"o",
"ş":"s",
"ü":"u",
"Ç":"C",
"Ğ":"G",
"İ":"I",
"Ö":"O",
"Ş":"S",
"Ü":"U"
}
haber="""
Hyundai, ABD'ye 10 milyar doların üzerinde yatırım yapacak
Güney Koreli otomobil üreticisi Hyundai, ABD firmalarıyla ileri teknoloji alanındaki iş birliğini güçlendirmek için 2025'e kadar bu ülkeye 10 milyar doların üzerinde yatırım yapacak.
Hyundai Motor Company İcra Kurulu Başkanı Eusiun Chung, ABD Başkanı Joe Biden ile başkent Seul'de yaptığı görüşmenin ardından 5 milyar dolarlık yeni yatırım planını duyurdu.
Daha önce de Georgia eyaletinde yaklaşık 5,5 milyar dolarlık yeni bir elektrikli araç üretim tesisi açacağını açıklayan Hyundai'nin 2025'e kadar ABD'deki yeni yatırımlarının 10 milyar doları aşması bekleniyor.
Söz konusu yatırımların elektrikli araç üretiminin yanı sıra robotik, kentsel hava hareketliliği, otonom sürüş ve yapay zeka gibi anlarda olacağı kaydediliyor.
Hyundai'nin Georgia'da açacağı fabrikada yaklaşık 8 bin 100 kişiye istihdam sağlayacağı ve tesisin yıllık 300 bin elektrikli araç üreteceği ifade ediliyor.
Biden, Güney Kore'li şirketlerin yatırımlarından memnun
Biden, Seul'deki ziyaretinde Hyundai ve Samsung'un ABD'ye yapacağı yeni yatırımlardan memnuniyetini dile getirdi.
"""
for karakter in karakter_degisikligi:
print(karakter,karakter_degisikligi[karakter])
haber=haber.replace(karakter,karakter_degisikligi[karakter])#REPLACE özelliği bir metin içindeki ifadeleri değiştirir. Örneğin haber.replace("ö","o") ifadesi "ö" harfini "o" harfine çevirir.
print(haber)
Python: Python Dersleri 24: For Döngüsü Uygulamaları
Kodu Kopyala
TÜM PYTHON KODLARI
Youtube Kanalımız
Aşağıdaki makrolar işinize yarayabilir.
Aşağıdaki makrolar işinize yarayabilir.