想知道是否有可能打印出以1开头的斐波那契数列.例子:
MAX = 17的斐波那契数列为1,1,2,3.5,8,13,21日,34岁,55岁,89年,144年,233年,377年,610年,987 .
这是我的当前代码:
MAX = 17
n1, n2 = 0,1
i= 0
while i < MAX:
print(n1)
nth = n1 + n2
n1 = n2
n2 = nth
i +=1
我不知道如何在不妨碍代码的情况下去掉零。
要执行此操作,我将执行以下操作:
我将n1和n2分别从1和1开始。这样的:
MAX = 17
n1, n2 = 1, 1
i = 0
while i < MAX:
print(n1)
nth = n1 + n2
n1 = n2
n2 = nth
i += 1
我认为你也可以通过改变"while
";循环到i<= MAX
,使"MAX
";从16开始。
我希望我对你有所帮助。
我的错,尝试使用for循环
n1 = 1
n2 = 0
fb = 0
for i in range(17):
if (fb > 0):
print(fb)
fb = n1 + n2
n1 = n2
n2 = fb
这段代码给出了您想要的结果。我在这里所做的就是设置i=1
而不是i=0
。同时,我打印n2而不是n1usingprint(n2)
.
MAX = 17
n1, n2 = 0,1
i= 1
while i < MAX:
print(n2)
nth = n1 + n2
n1 = n2
n2 = nth
i +=1
尝试在第3行设置I = 1
MAX = 17
n1, n2 = 0,1
i= 0
while i < MAX:
print(n1)
nth = n1 + n2
n1 = n2
n2 = nth
i +=1