|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
编程:根据斐波那契数列的定义,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
但是结果全是零,成了死循环,不知道错哪了,求助
本帖最后由 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
复制代码
|
|