python笔记-生成斐波那契数列
生成n位的斐波那契数列
#递归法
list = []
n= int(input("n:"))
def fab(n):
if n==1or n ==2:
return 1
else:
return fab(n-1)+fab(n-2)
result = fab(n)
for i in range(1,n+1):
list.append(fab(i))
print(list)
#迭代法
list=[1,1]
def Fib_seq(n):
n1=1
n2=1
n3=1
if n == 1:
list.remove(1)
while n >2:
n3 = n2 + n1
n1 = n2
n2 = n3
n -=1
list.append(n3)
return n3
result = Fib_seq(9)
print(list)
啊,然后找到了更简洁的办法https://www.cnblogs.com/wolfshining/p/7662453.html
lis =[]
for i in range(20):
if i ==0 or i ==1:#第1,2项 都为1
lis.append(1)
else:
lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和
print(lis)
a=0
b=1
c= 0
Fibonacci_sequence=[]
num = int(input("n:"))
while c < num:
Fibonacci_sequence.append(b)
a, b = b, a+b
c += 1
print(Fibonacci_sequence)