- 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ı.
2.4 KiB
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
sayachiç 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