- 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ı.
3.1 KiB
baslik, bolum, ozet
| baslik | bolum | ozet |
|---|---|---|
| kir ve devam | Akış denetimi | Döngüden erken çıkmak ve bir turu atlamak |
Bazen döngünün sonuna kadar gitmek gerekmez: aradığını bulmuşsundur ya da bu turdaki öğe seni ilgilendirmiyordur. kir döngüden tümden çıkar, devam yalnız bu turu atlar.
kir: döngüden çık
Listede ilk başarısız notu arayalım. Bulunca aramaya devam etmenin anlamı yok.
notlar = [62, 81, 48, 77, 35]
dongu n icinde notlar:
eger n < 50:
yazdir(f"İlk başarısız not: {n}")
kir
yazdir(f"{n} geçti")
62 geçti
81 geçti
İlk başarısız not: 48
kir çalışınca döngü hemen biter; 77 ve 35'e hiç bakılmaz.
devam: bu turu atla
devam'a gelince turun geri kalanı atlanır, döngü bir sonraki öğeyle sürer.
dongu i icinde 1..10:
eger i % 3 == 0:
devam
konsol.yaz(f"{i} ")
yazdir()
1 2 4 5 7 8 10
Burada konsol.yaz kullandık: yazdir gibidir ama satırı bitirmez, böylece sayılar yan yana dizilir. En sondaki boş yazdir() satırı kapatır.
iken dogru ile kir
Kaç tur süreceği belli olmayan bir döngüyü iken dogru: ile başlatıp koşul sağlanınca kir ile bitirebilirsin.
n = 27
adim = 0
iken dogru:
eger n == 1:
kir
eger n % 2 == 0:
n = n // 2
degilse:
n = 3 * n + 1
adim += 1
yazdir(f"27, {adim} adımda 1'e ulaştı.")
27, 111 adımda 1'e ulaştı.
Dikkat:
iken dogru:yazdıysan döngünün içinde mutlaka birkirolmalı ve ona bir gün ulaşılmalı. Yoksa döngü sonsuza dek döner.
İç içe döngüde kir
kir yalnız içinde bulunduğu döngüden çıkar; dıştaki döngü devam eder.
dongu satir icinde 1..3:
dongu sutun icinde 1..3:
eger sutun > satir:
kir
konsol.yaz(f"{satir}{sutun} ")
yazdir()
11
21 22
31 32 33
Hepsi bir arada: asal sayılar
Bir sayı, 1 ve kendisinden başka böleni yoksa asaldır. Her aday için bölen arıyoruz; bulunca kir ile içteki döngüden çıkıyoruz.
dongu aday icinde 2..30:
asal = dogru
bolen = 2
iken bolen * bolen <= aday:
eger aday % bolen == 0:
asal = yanlis
kir
bolen += 1
eger asal:
konsol.yaz(f"{aday} ")
yazdir()
2 3 5 7 11 13 17 19 23 29
Alıştırma
`urunler` listesinde ilk `"süt"`ü bul: bulunduğu sırayı (1'den sayarak) `süt 3. sırada` biçiminde yazdır ve döngüden çık.
%%%
urunler = ["ekmek", "peynir", "süt", "yumurta", "süt"]
sira = 0
dongu u icinde urunler:
sira += 1
# buraya yaz
%%%
urunler = ["ekmek", "peynir", "süt", "yumurta", "süt"]
sira = 0
dongu u icinde urunler:
sira += 1
eger u == "süt":
yazdir(f"süt {sira}. sırada")
kir
%%%
süt 3. sırada
1'den 20'ye kadar sayıları gez. Çift sayıları `devam` ile atla, tek sayıların toplamını bulup yazdır.
%%%
toplam = 0
dongu i icinde 1..20:
# buraya yaz
yazdir(toplam)
%%%
toplam = 0
dongu i icinde 1..20:
eger i % 2 == 0:
devam
toplam += i
yazdir(toplam)
%%%
100