斐波那契数列计算 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])

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值