python 实现斐波数列

a = 0
b = 1
while b <10:
print(b)
a , b = b,a+b

斐波数列:当 n =0 是 返回0 当n = 1 返回1 当n>=2时 F(n) = F (n-1) +F(n-2)
python 中 右边表达式先执行,然后给左边赋值。
即 当第一次执行时,a = 0 , b =1 , a + b =1, 然后给左边赋值 ,a =1 , b = 1。


正常使用递归实现
lis = []
for i in range(10) :
if (i == 0 or i == 1) :
lis.append(1)
else:
lis.append(lis[i-1] + lis[i-2])
print(lis)


def bf (n) :
if not isinstance(n,int):
return "类型错误"
if (n < 0 ):
return -1
elif (n == 0):
return 0
elif (n == 1 or n == 2):
return 1
else:
return bf(n-1) + bf(n-2)

print(bf(10))

你可能感兴趣的:(python 实现斐波数列)