<p>我正在为我申请编码训练营准备材料。这是一个我正在努力解决的实践问题(使用Python):</p>
<p>“编写一个函数‘lucky_sevens(numbers)’,该函数接受一个整数列表,如果任何三个连续元素的总和为7,则输出True。
请确保代码正确检查数组的第一个和最后一个元素。“</p>
<p>我知道如何在一个数组中一次循环一个元素,但不知道如何“保留”一个元素,同时还要根据第一个元素评估第二个和第三个元素,正如这个提示所要求的那样。从下面的尝试中可以看出,我不确定何时/何地/如何增加索引值来搜索整个列表。在</p>
<pre><code>def lucky_sevens(numbers):
index1 = 0 # For assessing 1st of 3 numbers
index2 = index1 + 1 # For assessing 2nd of 3 numbers
index3 = index2 + 1 # For assessing 3rd of 3 numbers
# If all index values are within the list...
if index1 <= (len(numbers) - 2) and index2 <= (len(numbers) - 1) and index3 <= len(numbers):
# If the values at those indices sum to 7...
if numbers[index1] + numbers[index2] + numbers[index3] == 7:
print True
else:
print False
# I think the increments below may be one of the places I am incorrect
index1 += 1
index2 += 1
index3 += 1
</code></pre>
<p>当我跑的时候</p>
^{pr2}$
<p>打印错误,我想是因为它只考虑第0、1和2个位置的元素(根据需要,总和为8,而不是7)。在</p>
<p>它应该打印为True,因为第一、第二和第三位置的元素总和为7。(1+5+1=7)。在</p>
<p>谁能提个建议吗?我将不胜感激。在</p>