擅长:python、mysql、java
<p>我相信这个重做模仿了您的原始代码,但要简单得多:</p>
<pre><code>def productFib(target):
fibonacci = [0, 1]
while True:
product = fibonacci[0] * fibonacci[1]
if product >= target:
return fibonacci + [product == target]
fibonacci[:] = fibonacci[1], sum(fibonacci)
print(productFib(272))
print(productFib(273))
print(productFib(274))
</code></pre>
<p><strong>输出</strong></p>
<pre><code>> python3 test.py
[13, 21, False]
[13, 21, True]
[21, 34, False]
>
</code></pre>
<p>你暗示了两个目标:“更有效率”和“列表理解”,我用的是“更有效率”。你知道吗</p>