基于spyder 环境编写函数求斐波拉契数列(0、1、1、2、3、5、8、…),并求出前20项之和。给出实现代码与运行结果。
def fib(n):
list=[0,1]
a=0
b=1
for i in range(2,n+1): ##循环为列表后面添加元素
a,b=b,a+b ##等价于a=b,b=a+b
list.append(b)
return list
c=int(input("请输入需要的斐波那契数列的长度:"))
if c<=0:
print("长度输入错误!")
else:
sum=0
list=fib(c) ##斐波纳契函数返回列表
print("斐波那契数列为:" , end='')
for j in range(0,c):
print(list[j],end=' ')
sum=sum+list[j] ##累加数列各项
print("\n")
print("前%d项和为:%d" %(c,sum))