##生成一个斐波那契数列,通过迭代进行求解,把一个n值的求解,根据一定的关系,层层迭代,最终到已知的常量定值,
##这种代码很好理解,也看似很简单,但是十分消耗时间,不推荐使用。
def Fibon_seq(n):
if type(n)!=int:
raise ValueError("Error n!")
if n<0:
raise ValueError("n must larger than 0!")
if n==1 or n==2:
return(1)
else:
return(Fibon_seq(n-1)+Fibon_seq(n-2))
Fibon_seq(5)
##通过对代码优化,大大提高了运算速度,因此,今后编写代码时不仅要能实现功能,还要实现高效率
def Fibon_seq_new(n):
a,b=1,1
for i in range(n-1):
a,b=b,a+b
return a
Fibon_seq_new(50)