Menu
CoddyTech

Ö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 kendisi ç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, özyineleme durana kadar, yani 1 değerine ulaşana dek işlev kendisini n - 1 ile çağırmaya devam eder.

Örnek: Bir Dizgeyi 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 fonksiyonu, dize boş olana veya yalnızca bir karakter kalana kadar dizenin geri kalanını (s[1:]) kullanarak kendisini çağırır. Her çağrı, ilk karakteri özyinelemeli çağrının sonucuna ekleyerek dizenin ters çevrilmesini sağlar.

challenge icon

Görev

Kolay

Argüman olarak pozitif bir tam sayı n alan ve n'inci Fibonacci sayısını döndüren, fibonacci adlı özyinelemeli bir fonksiyon yazın. Fibonacci dizisi şu şekilde tanımlanır:

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

Ö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