今天遇到一个想不通的问题,先记录下来,以后学明白再来。
def fib(x):
if x == 0 or x == 1:
return 1
else:
return fib(x-2) + fib(x-1)
print(fib(4))
按照我的理解
当第一次调用fib(x):的时候
if不成立
则return fib(x-2)
此时x=2
继续return fib(x-2)
此时x=0
则if成立
return 1
函数结束打印1
为什么结果是5?
今天遇到一个想不通的问题,先记录下来,以后学明白再来。
def fib(x):
if x == 0 or x == 1:
return 1
else:
return fib(x-2) + fib(x-1)
print(fib(4))
按照我的理解
当第一次调用fib(x):的时候
if不成立
则return fib(x-2)
此时x=2
继续return fib(x-2)
此时x=0
则if成立
return 1
函数结束打印1
为什么结果是5?