Problem ze zrozumieniem funkcji

0

Na wstępie wspomnę, że się dopiero uczę i nie rozumiem pewnego kodu z odpowiedzi z kursu.
Kod wygląda następująco:

def get_sequence(n):
    
    if n <= 0:
        return 1
    else:
        v = 0
        for i in range(n):
            v += 1 + (get_sequence(i - 1) + get_sequence(i))/2
        return v
 
print(get_sequence(25))

Nie rozumiem na jakiej zasadzie wykonywane są obliczenia jak funkcja wywołuje samą siebie.
Z góry dzięki za pomoc

2

Wywołanie samej siebie nazywa się rekurencja (rzadziej używane słowo rekursja), i w mieści się w praktykach programowania, jest normalne (choć nie promujemy tego zawsze)

Zawrócić uwagę, że rekurencja nie jest bezwarunkowa (program by wyleciał na przepełnieniu stosu), ale kontrolowana if 'em

Dodam, że ma swoje tradycje w matematyce, szeregi, te sprawy

0

Ok, dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1