【python】斐波那契数列

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值