Rekursja zwana rekurencją.
def funkcja():
funkcja()
def func(x): # przypisujemy zmiennej funkcje, nie wartość liczbową
return x*x
zmienna=func
print(zmienna(15))
w=1
def func2(f1,x):
return f1(x)*x
print(' funkcj funkcji ', func2(func,5)) # odwołanie do funkcji i wartości
#rekurencja, rekursja - obliczenie silni ze zwykłej funkcji
def silnia(x):
w=1
for i in range(x):
w=w*(i+1)
print('w ',w,' i',i)
return w
print(silnia(5))
def silnia1(x): # przykład rekursji
if x <=1: #przypadek domyślny
return 1
else:
return x*silnia1(x-1) #dążymy do przypadku domyslnego, przypadek rekurencyjny
print('silnia 1 ',silnia1(5))
# DRUGI PRZYKŁAD
def suma_Petla(lista):
suma=0
for x in lista:
suma +=x
return suma
# każda funkcja rekurencyjna ma dwa przypadki podstawowy i rekurencyjny
def suma_Rekurencja(lista):
if lista==[]:
return 0
else:
return lista[0]+suma_Rekurencja(lista[1:])
lista=[3,2,4,9]
print('aaa ',suma_Petla(lista))
print('bbb ',suma_Rekurencja(lista))