斐波那契數列計算 Python編程

問題描述:

斐波那契數列如下:
F(0) = 0, F(1) = 1
F(n) = F(n-1) + F(n-2)

編寫一個計算斐波那契數列的函數,採用遞歸方式,輸出不超過n的所有斐波那契數列元素
調用上述函數,完成如下功能:
用戶輸入一個整數n,輸出所有不超過n的斐波那契數列元素、輸出數列的元素和及平均數,

輸出按照順序,用英文逗號和空格分割

例如:

輸入: 5

輸出: 0, 1, 1, 2, 3, 5, 12, 2

python實現:

def fibo(number):
	if number == 0:
		return 0
	elif number ==1:
		return 1
	else:
		fiboValue = fibo(number - 1) + fibo(number - 2)
		return fiboValue

def fiboListFun(num):
	temp = 0
	while True:
		fiboVal = fibo(temp)
		if fiboVal > num:
			break
		fiboList.append(fiboVal)
		temp = temp + 1
		
num = eval(input())
fiboList = []
fiboListFun(num)
#求和
fiboSum = sum(fiboList)
#求均值
fiboAvg = fiboSum // len(fiboList)
#把sum、avg加入fiboList然後輸出
fiboList.append(fiboSum)
fiboList.append(fiboAvg)

#此時輸出的是列表,如輸入5,輸出[0,1,1,2,3,5,12,2],
#要求的輸出:1.沒有方括號 2.使用逗號和空格作爲分割,而這個只有逗號
#print(fiboList)

for i in range(len(fiboList) - 1):	
	print(fiboList[i], end =', ')
print(fiboList[-1])

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章