擅长:python、mysql、java
<p>这应该能做到:</p>
<pre><code>def lucky_sevens(numbers):
if len(numbers) < 3:
return False
return 7 in [sum(numbers[i:i+3]) for i in range(0, len(numbers)-2)]
print(lucky_sevens([1,2,3,4,5,1,1]))
# True
</code></pre>
<p>列表理解将一次移动列表中的3个数字,并计算每组三个整数的和。如果<code>7</code>在该列表中,则有3个连续的数字和<code>7</code>。否则,就没有了</p>
<p>有一点需要注意的是,进行这种列表理解需要列表中包含3个以上的元素。这就是为什么会有if语句。在</p>
<p>如果你想使用你的原始代码,你只需要做一些调整。你的逻辑就在那里,只是需要清理一下。在</p>
^{pr2}$
<p>您只需在<code>while</code>循环中重做<code>sum</code>。这样,<code>sum_of_numbers</code>会随着每个循环和每个新的索引选择而更新。在</p>