在該程序中,您將學(xué)習(xí)使用while循環(huán)打印斐波那契數(shù)列。
要理解此示例,您應(yīng)該了解以下Python編程主題:
斐波那契數(shù)列是0、1、1、2、3、5、8 ...的整數(shù)序列。
前兩項(xiàng)為0和1。所有其他項(xiàng)均通過(guò)將前兩項(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)通過(guò)將前兩個(gè)項(xiàng)相加來(lái)查找序列中的下一個(gè)項(xiàng)。然后,我們交換變量(對(duì)其進(jìn)行更新)并繼續(xù)進(jìn)行該過(guò)程。
您還可以使用遞歸來(lái)解決此問(wèn)題:Python程序使用遞歸來(lái)打印Fibonacci序列。