def fibonacci(n):
if n == 0 or n == 1: # base c a s e s
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10))
当fibonacci(10)被调用时,fibonacci(n-1)是否先被解析到基本情况,然后再解决fibonacci(n-2)?
发布于 2020-06-27 12:21:26
来自医生们
Python从左到右计算表达式。
因此,fibonacci(n-2) + fibonacci(n-1)
的计算顺序正如您所描述的:首先将fibonacci(n-2)
求值为值,然后将fibonacci(n-1)
求值为值,整个表达式计算为这两个值的之和。
在这种情况下,递归没有什么特别之处。Python从左到右计算,即使操作数不是递归函数调用。
https://stackoverflow.com/questions/62609838
复制相似问题