Python中字符串和整数的基本问题

时间:2015-06-27 23:07:20

标签: python function

我试图在Project Euler的帮助下学习Python。

我对这段代码(对于问题2)有一点麻烦,究竟是什么' Non type'是。我想知道是否有人可以帮我指出正确的方向!

from math import sqrt
x= 0 

def f(n):
    return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))

def SubFib(startNumber, endNumber):
    n = 0
    cur = f(n)
        while cur <= endNumber:
        if startNumber <= cur:
        print (cur)
        n += 1
        cur = f(n)


        for i in range(SubFib(1,4000000)):
        if i % 2 ==0:
        x = i+ x 

提前感谢你!

1 个答案:

答案 0 :(得分:2)

如果某些内容的值为NoneType并且您尝试对其执行某些操作,则会发生None错误。在这种情况下,您的SubFib函数永远不会返回任何内容,因此当您调用它并将结果传递给range()时,它会尝试运行range(None)

也许您希望SubFib最后有return n