在該程序中,您將學(xué)習(xí)使用while循環(huán)打印斐波那契數(shù)列。
要理解此示例,您應(yīng)該了解以下Python編程主題:
斐波那契數(shù)列是0、1、1、2、3、5、8 ...的整數(shù)序列。
前兩項(xiàng)為0和1。所有其他項(xiàng)均通過將前兩項(xiàng)相加而獲得。這意味著第n個(gè)項(xiàng)是第(n-1)個(gè)和第(n-2)個(gè)項(xiàng)的總和。
#程序顯示斐波那契數(shù)列直到第n項(xiàng) nterms = int(input("有多少項(xiàng)? ")) # 前兩項(xiàng) n1, n2 = 0, 1 count = 0 # 檢查nterms是否有效 if nterms <= 0: print("請(qǐng)輸入一個(gè)正整數(shù)") elif nterms == 1: print("斐波那契數(shù)列直到",nterms,":") print(n1) else: print("斐波那契數(shù)列:") while count < nterms: print(n1) nth = n1 + n2 #更新值 n1 = n2 n2 = nth count += 1
輸出結(jié)果
有多少項(xiàng)? 8 斐波那契數(shù)列: 0 1 1 2 3 5 8 13
這里,我們將項(xiàng)的數(shù)量存儲(chǔ)在nterms中。我們將第一項(xiàng)初始化為0,第二項(xiàng)初始化為1。
如果項(xiàng)數(shù)大于2,我們使用while循環(huán)通過將前兩個(gè)項(xiàng)相加來查找序列中的下一個(gè)項(xiàng)。然后,我們交換變量(對(duì)其進(jìn)行更新)并繼續(xù)進(jìn)行該過程。
您還可以使用遞歸來解決此問題:Python程序使用遞歸來打印Fibonacci序列。