Ö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:
- Temel Durum: Özyinelemenin ne zaman durması gerektiğini tanımlar.
- Ö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ı: 120Burada 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ı: ollehBu ö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.
Görev
Kolayfibonacci 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) = 0fibonacci(2) = 1fibonacci(n) = fibonacci(n-1) + fibonacci(n-2),n > 2için.
Örnek Girdi:
n = 6Örnek Çıktı:
5Kendin dene
def fibonacci(n):
# Kodu buraya yazınBu 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
1Değişken Keşfi
SabitlerÇoklu Değişken AtamalarıDeğişken TakasıYer Tutucu DeğişkenlerSayıları YuvarlamaListe Tür Dönüşümü4Rehber Uygulaması
Menüyü GörüntüleKişi Ekle7Kümeler Bölüm 2
Matematiksel İşlemler Bölüm 1Matematiksel İşlemler Bölüm 2Özet - Hazine AvıAlt Kümeler ve Üst KümelerKümeler Üzerinde YinelemeÖzet - Turnuva Takipçisi10Temel List Comprehension Yapıları
SözdizimiBasit Listeler OluşturmaKoşul EklemeVeri Toplulaştırma KullanımıÖzet - Liste EviÖzet - Özgürlük Elementleri13Envanter Yönetim Sistemi
Projeye Genel BakışÖğe Ekle2Sözlükler Bölüm 1
Sözlük Nedir?Sözlük OluşturmaDeğerlere ErişmeSözlükleri DeğiştirmeÖzet - Tarif Yöneticisi5İleri Seviye Karar Yapıları
Ternary OperatörüÜyelik KontrolleriKimlik KontrolleriGirintileme HatalarıÖzet - Tatil Filtresi8Öğrenci Kayıt Yöneticisi
Projeye Genel BakışÖğrenci Ekle11İleri Seviye Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar Görevi - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Listeleri Toplama14Yüksek Mertebeden Fonksiyonlar
Map FonksiyonuFilter FonksiyonuÖzet - E-posta DoğrulayıcıÖzet - Sayı İşleyici3Sözlükler Bölüm 2
Sözlük Metotlarıİç İçe SözlüklerAnahtar KontrolüSözlüklerde DöngülerÖzet - Frekans Sayacı9İleri Düzey Veri Toplulaştırma
Toplam KullanımıMinimum ve Maksimumu BulmaVerileri Verimli SıralamaÖzet - Dictionary SıralayıcıKendi başına pratik yap: Online Python derleyicisi