python’da özyineleme

Python Özyineleme Nasıl Kullanılır

Python √∂zyineleme yeni ba≈ülayanlar için g√∂z korkutucu bir konudur. √ñzyinelemenin zor olduƒüu efsanesini tanƒ±mlayarak ortadan kaldƒ±ralƒ±m. √ñzyineleme, bir i≈ülevin kendisini çaƒüƒ±rdƒ±ƒüƒ± bir programlama y√∂ntemidir.

Bu kulağa basit geliyor, değil mi? Alıştığınız zaman, özyineleme zor bir kavram değildir.

Bu Python eƒüitiminde, √∂zyineleme ve nasƒ±l çalƒ±≈ütƒ±ƒüƒ± hakkƒ±nda konu≈üacaƒüƒ±z. Bu programlama y√∂ntemine ba≈ülamanƒ±za yardƒ±mcƒ± olmak için fakt√∂riyel i≈ülevleri kullanan bir √∂zyineleme √∂rneƒüini inceleyeceƒüiz.

Özyineleme Nedir?

Özyineleme, bir şeyi şu terimlerle tanımladığınız yerdir. kendisi.

Bir √∂zyinelemeli i≈ülev, sorunlarƒ± kendisini tekrar çaƒüƒ±rarak ç√∂zer. Bu davranƒ±≈ü, Python gibi çoƒüu buyuk programlama dilinde desteklenir. Bunlar, bilgisayar bilimi ve veri biliminin çok √∂nemli bir parçasƒ±dƒ±r.

√ñzyineleme, bir sorunun ç√∂zumu, tumu aynƒ± formulu kullanan daha kuçuk problemlere b√∂lunerek bulunabildiƒüinde faydalƒ±dƒ±r. Bu tur sorunlara genellikle "√∂zyinelemeli algoritmalar‚" Bunlarƒ± ç√∂zmenin anahtarƒ± adƒ±ndadƒ±r!

Yinelemeli ve Özyinelemeli

Bir algoritmayƒ± ç√∂zmenin iki yolu vardƒ±r: yinelemeli veya yinelemeli.

Algoritmalara y√∂nelik yinelemeli ç√∂zumler, "guçlu ama çirkin olarak kabul edilir.‚" ƒ∞≈üi hallederler ama tam olarak en zarif ≈üekilde yapmazlar. √ñzyinelemeli algoritmalarƒ± doƒüru bir ≈üekilde anlamak için yinelemeli i≈ülevlere bakmamƒ±z gerekiyor.

Katƒ±lƒ±mcƒ±larƒ±n %81’i bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda daha emin hissettiklerini belirtti. Bugun bir eƒüitim kampƒ± ile e≈üle≈ütirin.

Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈ülamaktan ilk i≈üini bulmaya kadar, kariyer geçi≈üinde altƒ± aydan az zaman harcadƒ±.

Yinelemeli bir function, bir d√∂ngu kullanarak bir sorunu ç√∂zen bir i≈ülevdir. Bu d√∂ngu tamamlanana kadar bir d√∂ngu içindeki kodu yurutur. √ñzyinelemeli bir i≈ülev, bir sorunu daha kuçuk parçalara b√∂len ve her bir parçayƒ± kendisini çaƒüƒ±rarak ç√∂zen bir i≈ülevdir.

Faktörler: Yinelemeli Örnek

Fakt√∂rler, √∂zyinelemeyi ve √∂zyinelemeyi g√∂stermenin iyi bir yoludur. yinelemeli du≈üunme. Matematikte fakt√∂riyeller, bir sayƒ±nƒ±n ve her sayƒ±nƒ±n birbiriyle çarpƒ±lmadan √∂nceki toplamƒ±dƒ±r.

5’in fakt√∂riyeli 5 * 4 * 3 * 2 * 1’e e≈üittir. 2’nin fakt√∂riyeli 2 * 1’e e≈üittir.

Bir hesaplamak için fakt√∂riyel, yinelemeli bir fonksiyon yazabiliriz:

Bu i≈ülev bir d√∂ngu kullanƒ±r 1’in aralƒ±ƒüƒ±ndaki ve belirttiƒüimiz sayƒ± artƒ± 1 içindeki tum sayƒ±larƒ± yinelemek için, her yineleme için, d√∂ngunun yinelediƒüi sayƒ±, Fakt√∂riyel bulmak için fonksiyonumuzu çaƒüƒ±ralƒ±m:

Kodumuz ≈üunu d√∂ndurur: 24. Bu ç√∂zume ula≈ümak için kodumuz ≈üunlarƒ± çalƒ±≈ütƒ±rƒ±r:

  • 1 * 1 = 1
  • 2 * 2 = 4
  • 4 * 3 = 8
  • 8 * 4 = 24

G√∂rduƒüunuz gibi kodumuz 4’u kendisinden kuçuk tum sayƒ±larla ve ardƒ±ndan kendisi ile çarpar.

Bu kod işlevseldir. Tek dezavantajı, olabileceği kadar zarif olmamasıdır. Özyinelemeli işlevlerin işe yaradığı yer burasıdır.

Faktörler: Özyineleme Örneği

Faktoriyel hesaplayan √∂zyinelemeli bir i≈ülev yazalƒ±m. Yeni bir Python dosyasƒ± a烱n ve a≈üaƒüƒ±daki kodu yapƒ±≈ütƒ±rƒ±n:

Bu kod √∂zyinelemeli yakla≈üƒ±mƒ± kullanƒ±r. Bu i≈ülev çalƒ±≈ütƒ±rƒ±ldƒ±ƒüƒ±nda, bir ‚"if‚" deyimi yurutulur. Bu ifade, fonksiyona iletilen sayƒ±nƒ±n 1’e e≈üit olup olmadƒ±ƒüƒ±nƒ± kontrol eder. Varsa, fonksiyonumuz 1 d√∂ndurur. Aksi takdirde, sayƒ±mƒ±zƒ±n fakt√∂riyel hesaplanƒ±r.

Bu hesaplama, çarpƒ±larak çalƒ±≈üƒ±r. √∂nceki sayƒ±nƒ±n fakt√∂riyeliyle fonksiyona geçirilen sayƒ±. Bu i≈ülev, "number‚" 1’e e≈üittir. ƒ∞≈ülev her çaƒürƒ±ldƒ±ƒüƒ±nda, "sayƒ±‚" 1 azaltƒ±lƒ±r

4 numara ile kodumuzu bir deneyelim:

24 yanıtı döndurulur. Cevabımız doğrudur; son örneğimizle aynı. Çözumu bulduk bu sorun yinelemeli değil yinelemeli.

Hala biraz yardıma ihtiyacınız var mı? Yinelemenin başka bir örneğini inceleyelim.

Fibonacci Dizisi ile Özyineleme

Fibonacci dizisi, her sayının önceki iki sayının toplamı olduğu matematiksel bir dizidir.Bu dizi 0, 1, 1, 2, 3, 5, 8, 13 vb. ile başlar.

Bu sƒ±ra, bir sonraki sayƒ±yƒ± bulmak için iki sayƒ± ekler. Bu, √∂zyineleme için idealdir.

Bir Python dosyasƒ± a烱n ve ≈üu kodu yapƒ±≈ütƒ±rƒ±n:< br>

Bu kod, listede "sayƒ±‚" 1’den fazladƒ±r. Aksi takdirde, "sayƒ± d√∂ndurulur‚". ≈ûimdi fonksiyonumuzu çaƒüƒ±ralƒ±m:

"Python.Engineering hayatıma en ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayalimdeki işi buldum. hayattaki değerlerim ve hedeflerim ile uyumlu!"

Venus, Rockbot’ta Yazƒ±lƒ±m Muhendisi

Yurutme deƒüi≈ükeni, hesaplamak istediƒüimiz fibonacci dizisi. Bunu, 1 aralƒ±ƒüƒ±ndaki her sayƒ± ve "executions‚"

için fibonacci() i≈ülevimizi çaƒüƒ±ran bir for d√∂ngusu olu≈üturmak için kullanƒ±rƒ±z. for d√∂ngumuz ba≈ülamadan √∂nce, "Fibonacci Dizisi:‚" konsola. Bu √∂rnekte, "for‚" d√∂ngu yurutur:

Kodumuzu hep birlikte çalƒ±≈ütƒ±ralƒ±m ve ne olduƒüunu g√∂relim:

Kodumuz fibonacci dizisindeki ilk be≈ü sayƒ±yƒ± hesaplar. "executions‚"’ƒ±n deƒüerini artƒ±rarak daha fazla sayƒ± hesaplayabiliriz.

Yineleme Derinliği ve Temel Koşulları

Bir özyinelemeli işlevin bir temel koşulu olmalıdır. Bu, belirli bir temel durum karşılandığında özyinelemeyi durduran bir koşuldur. Temel işlev olmadan sonsuz bir döngu oluşturulur.

Bir √∂zyinelemeli i≈ülev, varsayƒ±lan olarak kendini en fazla 1.000 defa çalƒ±≈ütƒ±rabilir. Bu sƒ±nƒ±ra ula≈üƒ±ldƒ±ƒüƒ±nda, ≈üuna benzer bir hata g√∂runur:

Fibonacci programƒ±mƒ±z için temel ko≈üul:

Bu ko≈üul fibonacci programƒ±mƒ±zda "number‚" deƒüerinin 1’e e≈üit veya kuçuk olup olmadƒ±ƒüƒ±nƒ± kontrol eder. Eƒüer √∂yleyse, "number‚" deƒüeri d√∂ndurulur, aksi halde √∂zyinelemeli fonksiyon ba≈ülar.

Neden? Özyinelemeyi Kullanmalı mıyım?

Yinelemeli işlevlere göre özyineleme kullanmanın avantajı nedir? Teknik olarak, her iki yöntem de aynı sonucu verebilir. Özyinelemenin özelliği, okunmasının daha kolay olmasıdır.

Bir √∂zyinelemeli i≈ülev g√∂rduƒüunuzde, bir problemin cevabƒ±nƒ±n onu daha kuçuk parçalara ayƒ±rmada yattƒ±ƒüƒ± a烱ktƒ±r. Yinelemeli d√∂nguler bazen daha hƒ±zlƒ± olabilse de, yinelemeli i≈ülevler okunabilirliklerinden dolayƒ± genellikle tercih edilir.

√ñzyinelemeli i≈ülevlerin okunmasƒ± daha kolay olduƒüu için, bakƒ±mƒ± ve hata ayƒ±klamasƒ± da daha kolaydƒ±r. Bu, √∂zellikle anla≈üƒ±lmasƒ± zor olabilecek karma≈üƒ±k algoritmalar yazarken kullanƒ±≈ülƒ±dƒ±r.

Sonuç

√ñzyinelemeli bir i≈ülev, bir sorunun ç√∂zumunu bulmak için kendini çaƒüƒ±ran bir i≈ülevdir. ;

√ñzyinelemeli i≈ülevler, bir sorunu birden çok parçaya b√∂ler ve yineleme ba≈üƒ±na sorunun bir b√∂lumunu ç√∂zer. √ñzyinelemeli fonksiyonlar, fibonacci dizisindeki fakt√∂riyelleri ve sayƒ±larƒ± hesaplamak için yaygƒ±n olarak kullanƒ±lƒ±r. Ayrƒ±ca bir dizi algoritmada da kullanƒ±lƒ±rlar.

Artƒ±k Python’da √∂zyinelemeli i≈ülevlerle çalƒ±≈ümaya hazƒ±rsƒ±nƒ±z.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method