I have a python code and I don't understand how it works.
[code=python]
def cal(n):
print 'n =', n
if n<=1:
return n
else:
return cal(n-1) + cal(n-2)
#when I run
>>cal(4)
n = 4 # it is because I use parameter 4
n = 3 # is it because of cal(n-1), n=4-1?
n = 2 # is it because of cal(n-2), n=4-2? the rest I can get
n = 1
n = 0
n = 1
n = 2
n = 1
n = 0
3
[/code]
can anyone explain how it works?
[code=python]
def cal(n):
print 'n =', n
if n<=1:
return n
else:
return cal(n-1) + cal(n-2)
#when I run
>>cal(4)
n = 4 # it is because I use parameter 4
n = 3 # is it because of cal(n-1), n=4-1?
n = 2 # is it because of cal(n-2), n=4-2? the rest I can get
n = 1
n = 0
n = 1
n = 2
n = 1
n = 0
3
[/code]
can anyone explain how it works?
Comment