Skip to main content

Diziler ve Döngüler

While Döngüsü​

While döngüsü, belirli bir koşul doğru olduğu sürece yani True olduğu sürece kod bloğunu tekrar tekrar çalıştırır. Eğer koşul False olursa veya break komutu ile döngü sonlandırılırsa, döngüden çıkılır.

  • Not : Ctrl+C veya Ctrl+Z ile sonsuz döngüden çıkabilirsiniz.
a = 1
while a == 1:
print("bilgisayar çıldırdı!") # Sonsuz döngü!

bilgisayar çıldırdı!
bilgisayar çıldırdı!
bilgisayar çıldırdı!
(ve daha fazlası...)

caution

Yukarıdaki döngü sonsuza kadar devam eder çünkü a'nın değeri hiç değişmez ve daima 1 kalır. Bu tip durumlar programda istenmeyen davranışlara yol açabilir.

i = 1
while i <= 5:
print(i)
i += 1
print("elma")
print("while döngüsünden çıkıldı!!")

1
elma
2
elma
3
elma
4
elma
5
elma
while döngüsünden çıkıldı!!

Yukarıdaki kod, i değişkeni 1’den başlayarak her seferinde 1 artırılır ve 5 olana kadar (dahil) döngü devam eder. Her adımda i'nin değeri ve "elma" yazdırılır.

sayi = -1
while sayi <= 0:
sayi = int(input("Pozitif bir sayı girin: "))

Pozitif bir sayı girin: -2
Pozitif bir sayı girin: -3
Pozitif bir sayı girin: 1

Kullanıcı pozitif bir sayı girinceye kadar döngü devam eder.

while True:
parola = input("Bir parola belirleyin: ")
if not parola:
print("parola bölümü boş geçilemez!")
elif len(parola) > 8 or len(parola) < 3:
print("parola 8 karakterden uzun 3 karakterden kısa olmamalı")
else:
print("Yeni parolanız", parola)
break

Bir parola belirleyin: 123456789
parola 8 karakterden uzun 3 karakterden kısa olmamalı
Bir parola belirleyin: 12
parola 8 karakterden uzun 3 karakterden kısa olmamalı
Bir parola belirleyin:
parola bölümü boş geçilemez!
Bir parola belirleyin: 12345
Yeni parolanız 12345

Bu döngü, kullanıcı geçerli bir parola girene kadar devam eder.

sayi = int(input("Bir sayı girin: ")) # Örneğin 5
faktoriyel = 1
while sayi > 0:
faktoriyel *= sayi # faktoriyel = faktoriyel * sayi
sayi -= 1
print("Faktöriyel:", faktoriyel)

Bir sayı girin: 5
Faktöriyel: 120

Kullanıcının girdiği sayının faktöriyelini hesaplar.

i = 0
while i < 10:
i += 1
if i == 3:
print("Bu iterasyonu atla.")
continue # continue ile bu iterasyon atlanır ve döngü

ye devam edilir.
if i == 8:
print("Döngüyü burada sonlandır.")
break # break ile döngü sonlandırılır.
if i == 5:
print("Bu kısmı atla, ancak döngüye devam et.")
pass # pass ile hiçbir şey yapılmaz ve döngüye devam edilir.
print("Geçerli değer:", i)
print("Döngü tamamlandı.")

Geçerli değer: 1
Geçerli değer: 2
Bu iterasyonu atla.
Geçerli değer: 4
Bu kısmı atla, ancak döngüye devam et.
Geçerli değer: 5
Geçerli değer: 6
Geçerli değer: 7
Döngüyü burada sonlandır.
Döngü tamamlandı.

Bu kod, continue, break, ve pass ifadelerinin kullanımını gösterir.

For Döngüsü​

for döngüsü, belirli bir aralıkta veya bir koleksiyondaki (liste, demet, sözlük vb.) her öğe için kod bloğunu yinelemek için kullanılır.

dize = "Merhaba"
for karakter in dize:
print(karakter)

M
e
r
h
a
b
a

Her karakteri yeni bir satırda yazdırır.

liste = [1, 2, 3, 4, 5]
for eleman in liste:
print(eleman)

1
2
3
4
5

Listedeki her elemanı sırayla yazdırır.

sozluk = {"anahtar1": "değer1", "anahtar2": "değer2", "anahtar3": "değer3"}
print(sozluk.items())
for key, value in sozluk.items():
print(key, value)

dict_items([('anahtar1', 'değer1'), ('anahtar2', 'değer2'), ('anahtar3', 'değer3')])
anahtar1 değer1
anahtar2 değer2
anahtar3 değer3

Sözlüğün her bir anahtar-değer çiftini sırayla yazdırır.

Not: range(ilk_sayı, son_sayı) ile belirli bir aralıktaki sayılar üzerinde döngü kurulabilir.

for sayi in range(0, 10):
print(sayi)

0
1
2
3
4
5
6
7
8
9

0'dan 9'a kadar olan sayıları sırayla yazdırır.

for sayi in range(10):
print(sayi)

0
1
2
3
4
5
6
7
8
9

Yukarıdaki ile aynı çıktıyı verir; başlangıç değeri default olarak 0 kabul edilir.

for sayi in range(1, 11):
print(sayi)

1
2
3
4
5
6
7
8
9
10

1'den 10'a kadar olan sayıları sırayla yazdırır.

for i in range(1, 10, 2):
print(i)

1
3
5
7
9

1'den başlayarak 9'a kadar olan sayıları ikişer ikişer artırarak yazdırır.

for i in range(1, 4):
print(i)
for j in range(1, 4):
print(i, j)

1
1 1
1 2

1 3
2
2 1
2 2
2 3
3
3 1
3 2
3 3

İki iç içe for döngüsü kullanarak, her iki aralıktaki sayıların kombinasyonlarını yazdırır.

kelimeler = ["merhaba", "dünya", "python", "programlama"]
uzunluklar = []
for kelime in kelimeler:
print(kelime)
uzunluklar.append(len(kelime))
print("Kelimelerin uzunlukları:", uzunluklar)

merhaba
dünya
python
programlama
Kelimelerin uzunlukları: [7, 5, 6, 11]

Her bir kelimenin uzunluğunu hesaplar ve bir listeye ekler.