斐波那契數(shù)列即著名的兔子數(shù)列:1僧鲁、1、2象泵、3寞秃、5、8偶惠、13蜕该、21、34洲鸠、……
數(shù)列特點:該數(shù)列從第三項開始堂淡,每個數(shù)的值為其前兩個數(shù)之和,用python實現(xiàn)起來很簡單:
a=0
b=1whileb < 1000:
? ? print(b)
? ? a, b = b, a+b
輸出結果:
這里?a, b = b, a+b?右邊的表達式會在賦值變動之前執(zhí)行扒腕,即先執(zhí)行右邊绢淀,比如第一次循環(huán)得到b-->1,a+b --> 0+1 然后再執(zhí)行賦值 a,b =1,0+1,所以執(zhí)行完這條后a=1,b=1
a=0
b=1whileb < 1000:
? ? print(b,end=',')#end 可以將print輸出到同一行并以 ,號結尾a, b = b, a+b
輸出結果:
遞歸方式實現(xiàn)斐波那契數(shù)列 前n項:
# 遞歸方式實現(xiàn) 生成前20項lis =[]foriinrange(20):
? ? ifi ==0ori ==1:#第1,2項 都為1lis.append(1)
? ? else:
? ? ? ? lis.append(lis[i-2]+lis[i-1])#從第3項開始每項值為前兩項值之和
print(lis)
?運行結果