樹心幽徑

« 20200604用DEV-C++設計C++STL堆疊及佇列程式 | Main | 20200619用JavaScript來編寫氣泡排序法及選擇排序法程式 »

20200616用python來可輸入產生費氏數列的程式
2020/06/16,20:50

(一)費氏數列由0和1開始,之後的費氏數字就是由之前的兩數相加而得出。

(1-1)首幾個費氏數字是: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233……(參考維基百科)

(1-2)第n個費氏數字及第n-1個費氏數字的比例趨近於黃金比例(1.618...)。

 

(二)編寫python程式:

(2-1)由windows開始功能表執行 IDLE(python 3.7 64bit)

    安裝python請參考:20191014在windows7安裝並使用python3.7.4來剖析數字序列字串

(2-2)按CTRL+N在PYTHON文字編輯器編寫如下程式碼,並存為 d:\fib-1.py

def fib(n):
    if n<=1 :
        return n
    else:
        return fib(n-1)+fib(n-2)
   
n=int(input("請輸入n="))
while n >= 0 :
    print(fib(n))
    n=int(input("請再輸入n="))

 

(2-3)在PYTHON文字編輯器按F5可儲存編寫的程式碼並執行之,結果如下:

請輸入數字n=0
fib( 0 )= 0
請再輸入另一個n=1
fib( 1 )= 1
請再輸入另一個n=2
fib( 2 )= 1
請再輸入另一個n=3
fib( 3 )= 2
請再輸入另一個n=4
fib( 4 )= 3
請再輸入另一個n=5
fib( 5 )= 5
請再輸入另一個n=6
fib( 6 )= 8
請再輸入另一個n=7
fib( 7 )= 13
請再輸入另一個n=8
fib( 8 )= 21
請再輸入另一個n=9
fib( 9 )= 34
請再輸入另一個n=10
fib( 10 )= 55
請再輸入另一個n=11
fib( 11 )= 89
請再輸入另一個n=12
fib( 12 )= 144
請再輸入另一個n=13
fib( 13 )= 233
請再輸入另一個n=14
fib( 14 )= 377
請再輸入另一個n=-1


(三)編寫python程式:

(3-1)按CTRL+N在PYTHON文字編輯器編寫如下程式碼,並存為 d:\fib-2.py

def fib(n):
    if n<=1 :
        return n
    else:
        return fib(n-1)+fib(n-2)
   
n=int(input("請輸入數字n="))
cs = []
while n >= 0 :
    x=fib(n)
    print("fib(",n,")=",x)
    cs.append(x)
    print ("cs[]=",cs)
    n=int(input("請再輸入另一個n="))
   
(3-2)在PYTHON文字編輯器按F5可儲存編寫的程式碼並執行之,結果如下:

請輸入數字n=0
fib( 0 )= 0
cs[]= [0]
請再輸入另一個n=1
fib( 1 )= 1
cs[]= [0, 1]
請再輸入另一個n=2
fib( 2 )= 1
cs[]= [0, 1, 1]
請再輸入另一個n=3
fib( 3 )= 2
cs[]= [0, 1, 1, 2]
請再輸入另一個n=4
fib( 4 )= 3
cs[]= [0, 1, 1, 2, 3]
請再輸入另一個n=5
fib( 5 )= 5
cs[]= [0, 1, 1, 2, 3, 5]
請再輸入另一個n=6
fib( 6 )= 8
cs[]= [0, 1, 1, 2, 3, 5, 8]
請再輸入另一個n=7
fib( 7 )= 13
cs[]= [0, 1, 1, 2, 3, 5, 8, 13]
請再輸入另一個n=8
fib( 8 )= 21
cs[]= [0, 1, 1, 2, 3, 5, 8, 13, 21]
請再輸入另一個n=9
fib( 9 )= 34
cs[]= [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
請再輸入另一個n=-1


迴響

 
Accessible and Valid XHTML 1.0 Strict and CSS Powered by LifeType