Python -rekursie | Inleiding Python -rekursiefunksie vir beginners

Blog

Python -rekursie | Inleiding Python -rekursiefunksie vir beginners

Voorbeeld van Python -rekursie | Recursion In Python Programming Tutorial is die onderwerp van vandag. Rekursie is die metode om die probleem te programmeer of te kodeer, waarin die funksie homself een of meer kere in sy liggaam noem. Gewoonlik gee dit 'n retourwaarde van hierdie funksie -oproep terug. As die funksie -definisie aan die voorwaarde van rekursie voldoen, noem ons hierdie funksie 'n rekursiewe funksie.



Wat is rekursie in Python

Rekursie is 'n proses om iets in terme van homself te definieer.

'N Voorbeeld in die werklike wêreld sou wees om twee parallelle spieëls teenoor mekaar te plaas, soos die eerste film. Enige voorwerp tussen hulle word rekursief gereflekteer en u sal oneindige weerkaatsings van die voorwerp sien.



Python rekursiewe funksie

'N Rekursiewe funksie is die funksie wat in terme van homself gedefinieer word via selfverwysende uitdrukkings.

Die rekursiewe funksie moet aan die noodsaaklike voorwaarde voldoen om in 'n program gebruik te word: dit moet beëindig word.



Die rekursiewe funksie eindig as die oplossing van die probleem met elke rekursiewe oproep verminder word en na die basiese saak beweeg.

Die basiese geval is 'n geval waar 'n probleem sonder verdere herhaling opgelos kan word.

hoe om featured kanale op YouTube te verwyder

Die rekursie kan in 'n oneindige lus beland as die basiese geval nie in die oproepe beantwoord word nie.

Faktoriaal van enige getal is die produk van al die heelgetalle van 1 tot daardie getal. Die faktoriaal van 6 (aangedui as 6!) Is byvoorbeeld 1 2 3 4 5 * = 120.

Python Recursion Program

Sien die volgende program van Recursion in Python.

reageer-inheemse-kalender-gebeure
# app.py def factorial(x): if x == 1: return 1 else: return (x * factorial(x-1)) number = 5 print('The factorial of', number, 'is', factorial(number))

Sien die uitset.

➜ pyt python3 app.py The factorial of 5 is 120 ➜ pyt

In die voorbeeld hierbo is factorial () die rekursiewe funksie soos dit homself noem.

As ons hierdie funksie met die positiewe heelgetal noem, sal dit homself rekursief noem deur 'n getal te verminder.

Elke oproep van funksies vermenigvuldig die getal met die faktoriaal van getal 1 totdat die getal gelyk is aan een.

Wat is die basiese geval in rekursie

As ons met 'n rekursie werk, moet ons die basiese saak definieer waarvoor ons reeds 'n antwoord ken. In 'n voorbeeld hierbo vind ons die faktoriaal van die heelgetal, en ons weet reeds dat 'n faktoraal van 1 1 is, dus dit is ons basiese geval.

Elke opeenvolgende rekursiewe oproep na 'n funksie moet dit nader aan die basiese geval bring, en dit is presies wat ons in die bostaande voorbeeld doen.
Ons gebruik 'n basiese geval in rekursiewe funksie, sodat die funksie nie meer self roep as die basiese saak bereik word nie. Sonder die basiskas sou die funksie homself vir ewig bly noem.

Voorbeeld van Python -rekursie

Om hierdie struktuur te demonstreer, skryf ons die rekursiewe funksie vir die berekening van n !:

  1. Ontbind die oorspronklike probleem in meer eenvoudige gevalle van dieselfde probleem. Dit is die rekursiewe geval:
n! = n x (n−1) x (n−2) x (n−3) ⋅⋅⋅⋅ x 3 x 2 x 1 n! = n x (n−1)!
  1. As 'n groot probleem moet ons opeenvolgend in minder ingewikkelde probleme opdeel, die subprobleme moet uiteindelik so eenvoudig word dat dit sonder enige verdere onderverdeling opgelos kan word. Dit is die basiese geval:
n! = n x (n−1)! n! = n x (n−1) x (n−2)! n! = n x (n−1) x (n−2) x (n−3)! ⋅ ⋅ n! = n x (n−1) x (n−2) x (n−3) ⋅⋅⋅⋅ x 3! n! = n x (n−1) x (n−2) x (n−3) ⋅⋅⋅⋅ x 3 x 2! n! = n x (n−1) x (n−2) x (n−3) ⋅⋅⋅⋅ x 3 x 2 x 1!

Hier, 1! is ons basiese geval, en dit is gelyk aan 1.

Voordele van rekursie

  1. Rekursiewe funksies laat 'n kode skoon en elegant lyk.

  2. Die komplekse taak kan met behulp van rekursie in eenvoudiger subprobleme verdeel word.

  3. Reeksopwekking is gemakliker met 'n rekursie as om die geneste iterasie te gebruik.

    node js videoklets

Nadele van rekursie

  1. 'N Logika agter rekursie is moeilik om deur te voer.

  2. Die rekursiewe oproepe is duur (ondoeltreffend) omdat dit baie geheue en tyd verg.

  3. Rekursiewe funksies is baie moeilik om te ontfout.

Laastens, Python Recursion Voorbeeld | Recursion In Python Programming Tutoriaal is verby.

Gelukkige kodering!

#python