递归函数求斐波那契数列
编程:根据斐波那契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2) (n>=2),输出不大于100的序列元素。def F(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return F( n-1 ) + F( n-2 )
while True :
i = 0
if F(i) <= 100:
print(F(i))
i = i + 1
但是结果全是零,成了死循环,不知道错哪了,求助 改为i = 0
while True :
if F(i) <= 100:
print(F(i))
i = i + 1每次i=i+1之后都i=0,当然没结果 永恒的蓝色梦想 发表于 2020-3-26 22:14
改为每次i=i+1之后都i=0,当然没结果
好滴,谢谢 本帖最后由 sunrise085 于 2020-3-26 22:22 编辑
1、输出全都是0,是因为每次循环i都被赋值为0 了
2、死循环是因为你没有break跳出循环。
def F(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return F( n-1 ) + F( n-2 )
i = 0
while True :
if F(i) <= 100:
print(F(i))
else:
break
i = i + 1 sunrise085 发表于 2020-3-26 22:19
1、输出全都是0,是因为每次循环i都被赋值为0 了
2、死循环是因为你没有break跳出循环。
好的好的,谢谢 def F(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return F( n-1 ) + F( n-2 )
i = 0
while True :
if F(i) <= 100:
print(F(i))
else:
break
i = i + 1
页:
[1]