斐波那契数列计算
根据编程模板补充代码,计算斐波那契数列的值,具体功能如下:
获取用户输入整数N,其中,N为正整数
计算斐波那契数列的值
如果将斐波那契数列表示为fbi(N),对于整数N,值如下:
fbi(1)和fbi(2)的值是1,当N>2时,fbi(N) = fbi(N-1) + fbi(N-2)
请采用递归方式编写。
def fbi(n):
if n==1 or n ==2:
s=1
else:
s=fbi(n-1)+fbi(n-2)
return s
n = eval(input())
print(fbi(n))
其中 python中 函数递归要注意局部变量中的赋值语句,n==1,而s=1,虽然不是很清楚为什么,不过这样子做是正确的,大概是因为前者是取值,后者是赋值?
def fbi(n):
if n == 1 or n == 2:
return 1
else:
return fbi(n-1) + fbi(n-2)
n = eval(input())
print(fbi(n))
直接return也可以,不用在内部设置s的局部变量,直接返回数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)