2024-04-25 00:29:51 发布
网友
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)被解析
从the docs:
Python evaluates expressions from left to right.
是的,fibonacci(n-2) + fibonacci(n-1)的求值顺序如您所述:首先fibonacci(n-2)求值为一个值,然后fibonacci(n-1)求值为一个值,整个表达式求值为这两个值的总和
fibonacci(n-2) + fibonacci(n-1)
fibonacci(n-2)
fibonacci(n-1)
在这种情况下,递归没有什么特别之处。Python从左到右求值,即使操作数不是递归函数调用
从the docs:
是的,
fibonacci(n-2) + fibonacci(n-1)
的求值顺序如您所述:首先fibonacci(n-2)
求值为一个值,然后fibonacci(n-1)
求值为一个值,整个表达式求值为这两个值的总和在这种情况下,递归没有什么特别之处。Python从左到右求值,即使操作数不是递归函数调用
相关问题 更多 >
编程相关推荐