【python初學者日記】讀入正整數n,輸出斐波那切數列的第n項
阿新 • • 發佈:2021-01-01
技術標籤:菜鳥啄米
讀入正整數n,輸出斐波那切數列的第n項
問題分析
本題考驗的是if多分支語句,以及列表的使用。
程式碼實現
#讀入正整數n,輸出斐波那切數列的第n項。
#斐波那切數列每一項都是前兩項的和,即:1、1、2、3、5、8、13、21、34、55、89、144……
import sys
n=int(input('請輸入正整數n:'))
if n<=0:
print('你輸入的不是正整數,程式退出')
sys.exit(0)
#方式一:本方法是將每一項都儲存,缺點顯而易見,佔記憶體
#'''
s=[]
if n==1 :
print('第',n,'項是',n,sep='')
elif n==2:
print('第',n,'項是',n-1,sep='')
else:
s=[1,1]
for i in range(3,n+1):
s.append(s[i-2]+s[i-3])
print('第',n,'項是',s[n-1],sep='')
#'''
#方式二:本方法是要丟掉前面的項,每次只留兩項,s.pop(i)移除列表中的第(i+1)個元素
'''
s=[]
if n==1:
print('第',n,'項是',n,sep='')
elif n==2:
print('第',n,'項是',n-1,sep='')
else:
s=[1,1]
for i in range(3,n+1):
s.append(s[0]+s[1])
s.pop(0)
print('第',n,'項是',s[1],sep='')
#'''
執行結果如下: