# Recursion in python need help understanding

## Question:

i need help understanding this recursion thing
i am new to coding and trying to learn python

``````def tri_recursion(k):
if(k > 0):
result = k + tri_recursion(k - 1)
print(result)
else:
result = 0
return result

print("nnRecursion Example Results")
tri_recursion(6)

Recursion Example Results
1
3
6
10
15
21
``````

i understood 1 and 3
i never understand why the answer is 6 by the third row
because
result = 3 + tri_recursion(3-1)
print(result) which is 5 right ?

It may help to print out `k` with your `result`

``````def tri_recursion(k):
if(k > 0):
result = k + tri_recursion(k - 1)
print(f"k: {k} = {result}")
else:
result = 0
return result

print("nnRecursion Example Results")
tri_recursion(6)
``````

produces

``````Recursion Example Results
k: 1 = 1
k: 2 = 3
k: 3 = 6
k: 4 = 10
k: 5 = 15
k: 6 = 21
``````

So you can see for each `k` that it is itself + the result from the previous line.

Here’s how it works:

tri_recursion(1): result = k = 1

tri_recursion(2): result = k + tri_recursion(2-1) = k + tri_recursion(1) = 2 + 1 = 3

tri_recursion(3): result = k + tri_recursion(3-1) = k + tri_recursion(2) = 3 + 3 = 6

… and so on

Hope it helps!

Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.