Menu
Coddy logo textTech

Özyinelemeli Fonksiyonlar Bölüm 2

Coddy'nin Python Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 61 / 78.

Özyinelemeli işlevler genellikle iki bölümden oluşur:

  1. Temel Durum: Özyinelemenin ne zaman durması gerektiğini tanımlar.
  2. Özyinelemeli Adım: İşlevi daha küçük bir girdiyle kendisini çağırır.

Örnek: Özyineleme kullanarak faktöriyel hesaplama:

def factorial(n):
    if n == 1:  # Temel durum
        return 1
    return n * factorial(n - 1)  # Özyinelemeli çağrı

print(factorial(5))  # Çıktı: 120

Burada işlev, özyineleme işleminin durduğu 1 değerine ulaşana kadar kendisini n - 1 ile çağırmaya devam eder.

Örnek: Bir Dizeyi Tersine Çevirme:

def recursive_reverse(s):
	if len(s) <= 1:  # Temel durum: boş veya tek karakterli dize
		return s
	else:
		return recursive_reverse(s[1:]) + s[0]  # Özyinelemeli adım

text = "hello"
result = recursive_reverse(text)
print(result)
# Çıktı: olleh

Bu örnekte, recursive_reverse işlevi dize boş olana veya yalnızca bir karakter içerene kadar kendisini dizenin kalanıyla (s[1:]) çağırır. Her çağrı, ilk karakteri özyinelemeli çağrının sonucuna ekleyerek dizeyi etkili bir şekilde tersine çevirir.

challenge icon

Görev

Kolay

fibonacci adında, bağımsız değişken olarak pozitif bir tam sayı n alan ve n'inci Fibonacci sayısını döndüren özyinelemeli bir işlev yazın. Fibonacci dizisi şu şekilde tanımlanır:

  • fibonacci(1) = 0
  • fibonacci(2) = 1
  • fibonacci(n) = fibonacci(n-1) + fibonacci(n-2), n > 2 için.

Örnek Girdi:

n = 6

Örnek Çıktı:

5

Kendin dene

def fibonacci(n):
    # Kodu buraya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi