udacity计算机科学导论python - 课程22-15 为什么python代码简单

时间:2023-01-09 19:42:12

这课里的fibonacci递归函数,也常称为花瓣序列, 1,1,2,3,5... 后一个数是前两个数之和。 

在python中,建议用for函数代替递归函数,效率更高


 def fibonacci(n):
    s1 = 0
    s2 = 1
  
    for a in range(0,n):
        s1, s2 = s2,s1+s2

    return s1

可以看见,给两个变量s1,s2,同时赋值,简单可以实现叠加效果。 

python中,可以定义函数def xxx, 也可以不用函数,直接几行代码print,如:

m = 1
while fibonacci(m) * 2 < 5.977 * 10**24:
    m = m + 1

print m, fibonacci(m)