Files
ornekler/dersler/13-iken-dongusu.md
T
semih 494781e84f Dersler ve Temeller; web örnekleri PORT ortam değişkenini okur
- dersler/: 29 kısa ders (açıklama, çalıştırılabilir örnek, alıştırma). Her örneğin
  ve alıştırma çözümünün çıktısı Online IDE'nin hazırlık adımında gerçekten koşulup
  dosyadakiyle karşılaştırılır; biçim dersler/BICIM.md.
- temeller/: tek konulu 12 başlangıç programı.
- web/anket, web/kisalt, web/pano: port PORT ortam değişkeninden okunur (Online IDE
  önizlemesi 8080 verir), yoksa eski sabit port.
- README: öğrenme bölümü, Online IDE bağlantısı.
2026-10-17 22:07:47 +03:00

2.4 KiB

baslik, bolum, ozet
baslik bolum ozet
iken döngüsü Akış denetimi Koşul doğru olduğu sürece tekrar etmek

Bir işi defalarca yapmak için aynı satırı tekrar tekrar yazmazsın; döngü kullanırsın. iken döngüsü, koşul doğru olduğu sürece bloğunu tekrarlar.

Temel kullanım

sayac = 1
iken sayac <= 5:
    yazdir(sayac)
    sayac += 1
yazdir("Bitti")
1
2
3
4
5
Bitti

Her turdan önce koşul sorulur. sayac 6 olunca koşul yanlış çıkar ve döngü biter.

Geri sayım

kalan = 3
iken kalan > 0:
    yazdir(f"{kalan}...")
    kalan -= 1
yazdir("Kalkış!")
3...
2...
1...
Kalkış!

Toplam biriktirmek

Döngüde bir değişkene her turda ekleme yaparak toplam bulursun.

toplam = 0
n = 1
iken n <= 100:
    toplam += n
    n += 1
yazdir(f"1'den 100'e kadar toplam: {toplam}")
1'den 100'e kadar toplam: 5050

Kaç turda biteceğini bilmediğin işler

iken, tekrar sayısını önceden bilmediğin durumlar için idealdir. Yıllık %40 faizle 10.000 TL kaç yılda iki katını geçer?

para = 10_000.0
yil = 0
iken para < 20_000.0:
    para = para * 1.40
    yil += 1
yazdir(f"{yil} yıl sonra: {para:,.2f} TL")
3 yıl sonra: 27,440.00 TL

Bir sayının basamaklarını tek tek ayırmak da böyle bir iştir.

n = 4729
basamak_toplami = 0
iken n > 0:
    basamak_toplami += n % 10
    n = n // 10
yazdir(basamak_toplami)
22

Dikkat: Koşulu bir gün yanlış yapacak satırı unutursan döngü sonsuza dek döner. Aşağıdaki kodda sayac hiç artmıyor; program durmaz (IDE belli bir süre sonra onu keser).

sayac = 1
iken sayac <= 5:
    yazdir(sayac)
    # sayac += 1 unutuldu!

Alıştırma

`iken` ile 2'nin kuvvetlerini yazdır: 1, 2, 4, 8, ... 1000'i geçmeyenleri, her biri ayrı satırda.
%%%
kuvvet = 1
# buraya yaz
%%%
kuvvet = 1
iken kuvvet <= 1000:
    yazdir(kuvvet)
    kuvvet *= 2
%%%
1
2
4
8
16
32
64
128
256
512
Bir kumbarada 0 TL var. Her hafta 35 TL atılıyor. Kumbara 500 TL'ye ulaşana ya da geçene kadar kaç hafta gerektiğini ve son tutarı `X hafta, Y TL` biçiminde yazdır.
%%%
kumbara = 0
hafta = 0
# buraya yaz
%%%
kumbara = 0
hafta = 0
iken kumbara < 500:
    kumbara += 35
    hafta += 1
yazdir(f"{hafta} hafta, {kumbara} TL")
%%%
15 hafta, 525 TL