斐波那契数列计算
根据编程模板补充代码,计算斐波那契数列的值,具体功能如下:
获取用户输入整数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的局部变量,直接返回数据
本文介绍了如何使用Python编程语言,通过递归方式计算斐波那契数列的值。用户输入正整数N,程序根据斐波那契数列的定义fbi(N) = fbi(N-1) + fbi(N-2),递归计算出结果。特别地,fbi(1)和fbi(2)都等于1。注意Python中递归函数的局部变量赋值细节。
1649

被折叠的 条评论
为什么被折叠?



