Rekursio tarkoittaa saman funktion uudelleen (..ja uudelleen) kutsumista. Koodista saadaan lyhyttä.
def piirra(n):
if n > 1: #Ehto kuinka kauan jatketaan
print(" "*n,"#")
piirra(n-1)
else:
return True # Lopetus
#pääohjelma
piirra(5)
Luvun n kertoma n! tarkoittaa kertolaskua 1 * 2 * ... *n. (selitys Linkki)
def kertoma(luku):
if luku > 1:
return kertoma(luku - 1) * luku
else:
return True
#pääohjelma
print(kertoma(5))
Fibonazzin lukujonossa 1. jäsen on 1, samoin 2. jäsen. 3:sta jäsenestä eteenpäin jäsen voidaan laskea kahden edellisen summana 3. jäsen = 1+1 =2, {1,1,2,3,5...}
def fib(n):
if n == 1:
return 1
if n == 2:
return 1
if n > 2:
return fib(n-1)+fib(n-2)
#pääohjelma
for i in range (1,10):
print(i,":s jäsen on ",fib(i))
+ Kultainen leikkauksen suhde on kahden peräkkäisen jäsenen suhde.
for i in range(2,100):
print(fib(i)/fib(i-1))