idle
>>> for i in range(1,1111):if 100 < f(i) < 1000:
print(f(i), end= ' ')
144 233 377 610 987
执行完这个,idle的 命令提示符怎么不出来 你的 f 是什么? zltzlt 发表于 2020-8-16 15:55
你的 f 是什么?
上面定义的求斐波那契数列的函数
因为这个函数的原因吗 白白白白丶白 发表于 2020-8-16 15:59
上面定义的函数
{:9_229:}我是叫你把函数体发上来 zltzlt 发表于 2020-8-16 15:59
我是叫你把函数体发上来
>>> def f(n):
if n == 1 or n == 2:
return 1
else:
return f(n-2) + f(n-1) 白白白白丶白 发表于 2020-8-16 16:01
因为你的函数执行效率太慢了,这样即可:
>>> from functools import lru_cache
>>> @lru_cache(maxsize=1200)
def f(n):
if n == 1 or n == 2:
return 1
else:
return f(n-2) + f(n-1)
>>> for i in range(1,1111):
if 100 < f(i) < 1000:
print(f(i), end= ' ')
144 233 377 610 987 zltzlt 发表于 2020-8-16 16:06
因为你的函数执行效率太慢了,这样即可:
>>> from functools import lru_cache
>>> @lru_cache(maxsize=1200)
这个是什么 白白白白丶白 发表于 2020-8-16 16:08
这个是什么
https://fishc.com.cn/thread-154150-1-1.html
页:
[1]