斐波那契數列(fibonacci sequence),又稱**分割數列、因數學家列昂納多·斐波那契(leonardoda fibonacci)以兔子繁殖為例子而引入,故又稱為「兔子數列」,指的是這樣乙個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞迴的方法定義:f(0)=1,f(1)=1, f(n)=f(n-1)+f(n-2)(n>=2,n∈n*)在現代物理、準晶體結構、化學等領域,斐波納契數列都有直接的應用,為此,美國數學會從1963起出版了以《斐波納契數列季刊》為名的乙份數學雜誌,用於專門刊載這方面的研究成果。
#!/usr/bin/python
#coding=utf-8
# __author__ = 'cy'
#匯入time包,之後的sleep()函式位於其中
import time
deffibs
(num):
#用於儲存生成的例項序列
result = [0, 1]
#用於生成0到num-2-1的數字
for i in range(num-2):
#迴圈數值加入到result列表
return result
defmain
():#用引數nums 呼叫fibs()函式,生成nums個斐波那契數字
nums=int(input('how many fibs do you want:'))
result = fibs(nums)
#用open()函式開啟檔案,第乙個引數為被開啟的檔名,第二個引數是開啟方式
fobj = open('/data/moxiaokai/helloworld/cytest/blogcode/result.txt', 'w+')
#enumerate()將陣列或列表組成乙個索引序列,返回值包含兩個變數,第乙個是序列,第二個是值
for i, num in enumerate(result):
print
u"第 %d 個數是: %d" %(i, num)
#寫入格式,『\n』用作換行
fobj.write("第%d個數是: %d\n" %(i, num))
time.sleep(1)
if __name__ == '__main__':
main()
執行結果如下:
python 解決斐波那契數列
斐波那契數列 以澳大利亞兔子繁殖的問題而引入的數列,也稱為 兔子數列 斐波那契的具體表現形式是 1,1,2,3,5,8,13,21.其通項公式為 f n f n 1 f n 2 從其通項公式來看,有點類似於python中的遞迴函式,先試著使用遞迴函式解決斐波那契數列 def fibo sequnec...
斐波那契數列 斐波那契數列python實現
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...
python 斐波那契數列
用python寫斐波那契數列當然大家都寫的出來。當時如果用一行 寫呢。本來沒有打算用一行 寫的。後來看到有用一行 寫階乘的。reduce lambda x,y x y,i for i in range 1,n 1 當然在這之前需要 from functools import 好吧,如果你願意,就算兩...