Odak modu
Non-Scalar Veri Tiplerinde for
for
döngüsünü işlerken for
<değişken>
in <obje>
yapısında, her iterasyonda değişken
in tek tek obje
nin elemanlarına eşit olduğunu konuşmuştuk.list
, tuple
, dictionary
non-scalar veri tiplerini gördük ve bunların hepsinin içsel bir yapısı var, şimdi bunların elemanlarında for
kullanarak iterasyon yapmaya bakalım.notlar = [90,72,81,77]
for e in notlar:
print(e)
90 72 81 77
t = 0
for e in notlar:
t += e
ortalama = t / len(notlar)
print(ortalama)
80.0
e
'nin özel bir anlamı yok, sadece döngünün içinde onu kullanırken o adla referans veriyorum, adı penguen
de olabilirdi.t = 0
for penguen in notlar:
t += penguen
ortalama = t / len(notlar)
print("Ortalama:",ortalama)
Ortalama: 80.0
for e in notlar
diyince ilk iterasyonda e
nin değeri 90, ikincisinde 72... olarak devam etti.range()
ile indexlerde iterasyon yapıp indexing ile değerlerine de ulaşabilirdim. (Range belirli bir listenin indexlerinde iterasyon yapmamı sağlamıyor, range(len(notlar)) diyince bize 0,1,2.. len(notlar)-1
sayılarını verecek, bunlar da listenin indexleriyle örtüşüyor, yoksa range()
index verir diye bir şey yok.)for i in range(4):
print("Iteration: ", i)
Iteration: 0
Iteration: 1
Iteration: 2
Iteration: 3
t = 0
for i in range(len(notlar)):
t += notlar[i]
ortalama = t / len(notlar)
print("Ortalama:",ortalama)
Ortalama: 80.0
notlar
[90, 72, 81, 77]
for e in notlar:
print(e)
90 72 81 77
e
sadece notlar
ın içindeki değerler,e
'yi değiştirmek listenin elemanlarını değiştirmez!for e in notlar:
print(e)
e = e + 10
print(e)
print(notlar)
print("--------------")
print(notlar)
90
100
[90, 72, 81, 77]
--------------
72
82
[90, 72, 81, 77]
--------------
81
91
[90, 72, 81, 77]
--------------
77
87
[90, 72, 81, 77]
--------------
[90, 72, 81, 77]
for i in range(len(notlar)):
notlar[i] += 5
notlar
[95, 77, 86, 82]
continue
mantığının alıştırmasını yapmış olalım. Diyelim ki öğretmen 2. öğrencinin kağıdını doğru okumuş, 2. öğrenci (index 1'deki) hariç hepsinin değerini 5 arttıracak:notlar = [90,72,81,77]
for i in range(len(notlar)):
if i == 1:
continue
notlar[i] += 5
print(notlar)
[95, 72, 86, 82]
break
egzersizi yapalım.break
ile sağlayacağım.x = int(input("Hangi sayıyı kontrol edeyim?:"))
l = [2,3,40,100,10,1]
for e in l:
print(e) # iterasyon break ile çıkmış mı görelim mi diye
if e == x:
print("Buldum!!")
break
Hangi sayıyı kontrol edeyim?:100
2
3
40
100
Buldum!!
t = (1,2,3,4)
for e in t:
print(e)
1 2 3 4
toplam = 0
for e in t:
toplam += e
print(toplam)
10
for i in range(len(t)):
print(t[i])
1 2 3 4
for i in range(len(t)):
t[i] += 2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-37-51c8ededb856> in <module>
1 for i in range(len(t)):
----> 2 t[i] += 2
TypeError: 'tuple' object does not support item assignment
key
'lerde iterasyon yapıyor. Zaten index mantığı olmadığı için range() ile yapmak çoğu zaman karşımıza çıkmaz.d = {"student_1": [90,89], "student_2": [80,83], "student_3": [72,71]}
for k in d:
print(k)
student_1
student_2
student_3
for k in d:
v = d[k]
print(v)
[90, 89]
[80, 83]
[72, 71]
for
<değişken>
in <obje>
yapısında <değişken>
int vs gibi şeyler değil liste gibi yapılar da olabilir iterasyon içerisinde, burada da öyle oldu.d = {"student_1": 90, "student_2": 80, "student_3": 72}
for v in d.values():
print(v)
90 80 72
d = {"student_1": [90,89], "student_2": [80,83], "student_3": [72,71]}
for v in d.values():
print(v)
[90, 89]
[80, 83]
[72, 71]
v
, her iterasyonda int .
d = {"student_1": 90, "student_2": 80, "student_3": 72}
for k in d:
value = d[k]
if value > 85:
print(k)
student_1
key
hem de value
'larda iterasyon yapmak için:for k,v in d.items():
print("key değeri:", k, "value değeri:", v)
key değeri: student_1 value değeri: 90
key değeri: student_2 value değeri: 80
key değeri: student_3 value değeri: 72
Sektörde en çok aranan yazılım becerilerini kazan
Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.
Yunus Emre Kabakcı
Patika+ mezunuPatika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,
3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!
“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“
Yorum yapabilmek için derse kayıt olmalısın!
Bu dersi nasıl buldun?
This website uses cookies to ensure you get the best experience.
Disclaimer: The information /programs / events provided on https://patika.dev and https://risein.com are strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice and do not make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://patika.dev and https://risein.com disclaim any responsibility for financial decisions made by users based on information provided here.