我试着编写一个简单的python函数,它应该返回fib指向的列表直到指定的最大值。但我得到这个错误。我似乎无法找出我做错了什么。Python:这个斐波那契函数有什么问题?
def fib(a,b,n):
f = a+b
if (f > n):
return []
return [f].extend(fib(b,f,n))
>>>fib(0,1,10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "lvl2.py", line 35, in fib
return [f].extend(fib(b,f,n))
File "lvl2.py", line 35, in fib
return [f].extend(fib(b,f,n))
File "lvl2.py", line 35, in fib
return [f].extend(fib(b,f,n))
File "lvl2.py", line 35, in fib
return [f].extend(fib(b,f,n))
TypeError: 'NoneType' object is not iterable
谢谢,这个伎俩。我想另一个解决方案是做一个单独的列表,并设置扩展()并返回这个新列表。 – Sid 2011-04-23 08:30:08
29秒。再次感谢。 – Sid 2011-04-23 08:38:37