使用python的有限Fibonacci级数
我想写一个代码,将斐波那契数列打印到一个特定的数字。如果是那样的话,就说是30。 问题是它总是打印太多的1个数字,它将打印到34而不是21使用python的有限Fibonacci级数,python,Python,我想写一个代码,将斐波那契数列打印到一个特定的数字。如果是那样的话,就说是30。 问题是它总是打印太多的1个数字,它将打印到34而不是21 l=[1,1] i=0 while l[i+1]<30: l.append(l[i]+l[i+1]) i+=1 print l l=[1,1] i=0 当l[i+1]时,你必须计算下一个项,看看它是否大于30 因此,您可以选择计算它,但不存储它(清洁溶液): 或者,使用现有脚本,只是不打印它(脏的解决方案): l=[1,1] i=0
l=[1,1]
i=0
while l[i+1]<30:
l.append(l[i]+l[i+1])
i+=1
print l
l=[1,1]
i=0
当l[i+1]时,你必须计算下一个项,看看它是否大于30
因此,您可以选择计算它,但不存储它(清洁溶液):
或者,使用现有脚本,只是不打印它(脏的解决方案):
l=[1,1]
i=0
而l[i+1]l=[1,1]
i=0
当l[i+1]修改您的当条件时:
while (l[i]+l[i+1])<30:
while(l[i]+l[i+1])>打印(l)
[1, 1, 2, 3, 5, 8, 13, 21]
但当l[i]
为13时,l[i+1]
将为21,小于30。在添加到列表之前,您可能想检查l[i]+l[i+1]
的结果?
l=[1,1]
i=0
while l[i+1]<30:
l.append(l[i]+l[i+1])
i+=1
print l[:-1] # or l.pop(); print l
l=[1,1]
i=0
while l[i+1]<30:
l.append(l[i]+l[i+1])
i+=1
l.pop()
print l
while (l[i]+l[i+1])<30:
l=[1,1]
i=0
while (l[i]+l[i+1])<30:
l.append(l[i]+l[i+1])
i+=1
>>> print(l)
[1, 1, 2, 3, 5, 8, 13, 21]