【发布时间】:2018-03-19 08:43:41
【问题描述】:
我已经创建了一个递归函数来查找斐波那契数列位置的数字。用户输入一个数字(术语),然后通过函数运行该数字以找到该数字。
def fib(number):
if number == 0:
return 0
if number == 1:
return 1
else:
number = fib(number - 1) + fib(number - 2)
return number
user = int(input("Enter a position in the fibonacci sequence: "))
print fib(user)
如果我输入“4”,有人可以解释这个数字将如何通过我的递归函数运行吗?
谢谢。
【问题讨论】:
-
所以……你不了解自己的程序?
-
还有格式问题。
-
要了解递归,您必须了解函数的工作原理,要了解函数,您必须了解内存(堆栈,堆)的工作原理,然后您才能了解递归。阅读这篇文章:cryptroix.com/2016/10/10/understanding-multiple-recursion
-
四个不是 fib 序列:0, 1, 1, 2, 3, 5, 8, 13, 21 - 所以垃圾输入 - 垃圾输出适用
标签: python python-3.x function recursion