Yükleniyor...

Kendini çağıran fonksiyon

down adı down'un içindedir ve her adım bir küçük sayı geçirir. Bu yüzden down(3) önce 3, sonra 2, sonra 1 yazar.

if n == 0: return satırı duruştur. n 0 olunca bu satır çalışır ve down bir daha kullanılmaz. Bu satırı yazmazsanız adımlar bitmez ve program sonuna varmaz. O bozuk biçim aşağıda yoktur.

3, sonra 2, sonra 1

python
def down(n):
    if n == 0:
        return
    print(n)
    down(n - 1)

down(3)

Ekranda 3, sonra 2, sonra 1 görünür. print, sonraki down'dan önce çalışır. down(1) 1 yazar ve sonra down(0)'a varır. down(0) duruşa gelir, bir şey yazmaz ve program biter.

print'i down(n - 1) satırının ardına alın. Küçük sayılar önce yazılır, çünkü her adım içtekinin bitmesini bekler.

1, sonra 2, sonra 3

python
def down(n):
    if n == 0:
        return
    down(n - 1)
    print(n)

down(3)

Ekranda 1, sonra 2, sonra 3 görünür. down(0) yine bir şey yazmaz. print'ler dönüşte çalışır, bu yüzden 1, 2'den önce ve 2, 3'ten önce yazılır.

down(0) tek başına print'e hiç varmaz. Duruş hemen çalışır.

down(0) bir şey yazmaz

python
def down(n):
    if n == 0:
        return
    print(n)
    down(n - 1)

down(0)

Ekran boş kalır ve program biter. n baştan 0'dır, bu yüzden print ve sonraki down atlanır.

Ekranları yanlış okumak

İkinci program 3, sonra 2, sonra 1 değildir. O sıra birincinindir; orada print öndedir. if n == 0: return satırını herhangi birinden çıkarırsanız adımlar bitmez. O sürümü çalıştırmayın.

Sonraki sayfa bir değer listesidir. Burada yalnız kendi adını kullanan bir fonksiyon ve onu 0'da durduran satır vardır.

Sayıları izleyin

  1. İlk program önce ne, sonra ne yazar?
  2. İkinci program önce ne, sonra ne yazar?
  3. Üçüncü program ne yazar?
  4. 0'daki duruşu çıkarırsınız. Program sonuna varır mı?

down ne yapar

down içindeki down adı, n - 1 ile, 3'ten 1'e iner. Bu adımdan önceki print 3, sonra 2, sonra 1 yazar. Sonraki print 1, sonra 2, sonra 3 yazar. if n == 0: return programın bitmesinin nedenidir. down(0) bir şey yazmaz.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
5
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek