斐波那契数列,这个数列从第3项开始,每一项都等于前两项之和。求斐波那契数列的前n项。

斐波那契数列,指的是这样一个数列,这个数列从第3项开始,每一项都等于前两项之和。求斐波那契数列的前n项。

输入格式:
输入一个n(n>=3)的值。

输出格式:
输出斐波那契数列的前n项。

n=int(input())
f1=0
f2=1
l=[str(f1),str(f2)]
for i in range(2,n):
    f3=f1+f2
    f1,f2=f2,f3
    l.append(str(f3))
print(','.join(l))
def fib(n):
    a,b,res = 1,1,[]
    for i in range(1,n+1):
        res.append(a)
        a,b = b,a+b
    return res

for i in range(1,11):
    print(fib(i))

输出:
[1]
[1, 1]
[1, 1, 2]
[1, 1, 2, 3]
[1, 1, 2, 3, 5]
[1, 1, 2, 3, 5, 8]
[1, 1, 2, 3, 5, 8, 13]
[1, 1, 2, 3, 5, 8, 13, 21]
[1, 1, 2, 3, 5, 8, 13, 21, 34]
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

class FeiBo:  # 菲波那切数列
    def __init__(self, n):
        self.n = n
        self.n1 = 0
        self.n2 = 0
        self.n3 = 1

    def __iter__(self):
        return self

    def __next__(self):
        if self.n1 < self.n:
            self.n2, self.n3 = self.n3, self.n2 + self.n3
            self.n1 += 1
            return self.n2
        else:
            raise StopIteration


a = FeiBo(int(input("请输入一个数")))
my_list1 = list(a)  
print(my_list1)

这个主要考查就是迭代器

有用请采纳

def Fibonacci(n):
    nums_List = [1, 1]   # 保存斐波那契数列
    for i in range(2, n):
        nums_List.append(nums_List[i-1] + nums_List[i-2])

    return nums_List


n = int(input())
print(Fibonacci(n))


def face(n):
    if n==1 or n==2:
        return 1
    else:
        return face(n-1)+face(n-2)
n=int(input("请输入一个数"))
print(face(n))

img

n = int(input())
f1 = 1
f2 = 1
f3 = f1 + f2
print(f1, end=' ')
print(f2, end=' ')
print(f3, end=' ')
for i in range(4, n):
    f1 = f2
    f2 = f3
    f3 = f1 +f2
    print(f3, end=' ')

img


def fibonacci(num):
  fibs = [0,1]
  for i in range(num-2):
    fibs.append(fibs[-2]+fibs[-1]) 
  return(fibs)
print(fibonacci(int(input('请输入:'))))

img