我正在尝试为Fibonacci系列定义一个函数,但是代码不起作用。我无法解决问题,需要帮助来解决问题。每当我尝试调用此函数时,系列的最后一个值总是大于n,这是我不希望的
def fib(n):
Series = [0,1]
if n>1:
while Series[-1]<=n:
c=Series[-2]+Series[-1]
Series.append(c)
if Series[-1]>n:
break
return Series
答案 0 :(得分:2)
您的代码确实很好,只是return
的缩进是错误的。只要正确对齐即可。
def fib(n):
Series = [0,1]
if n>1:
while Series[-1]<=n:
c=Series[-2]+Series[-1]
Series.append(c)
return Series
答案 1 :(得分:0)
您需要这样的东西吗?
def fibo(n):
l = [0,1]
for i in range(2,n+1):
l += [l[i-1] + l[i-2]]
return l
答案 2 :(得分:0)
如果您想使斐波那契数列最多为n:
def fib(n):
series = [0,1]
if n > 1:
c = 1
while c <= n:
series.append(c)
c = series[-2] + series[-1]
return series