gpt4 book ai didi

python - 幸运七人组,数组中 3 个连续数字的总和 == 7

转载 作者:行者123 更新时间:2023-12-01 03:31:59 25 4
gpt4 key购买 nike

Write a function lucky_sevens(numbers), which takes in an array of integers and returns true if any three consecutive elements sum to 7.

为什么这没有产生 True 的输出?最后 3 个值总和 = 7。

 def lucky_sevens(numbers):
x, y = 0, 3
sum_of_numbers = sum(numbers[x:y])
while (sum_of_numbers != 7) and (y < len(numbers)):
x = x + 1
y = y + 1
if sum_of_numbers == 7:
return True
else:
return False

print(lucky_sevens([1,2,3,4,5,1,1]))

最佳答案

问题是,当函数首次被调用时,sum_of_numbers 变量被分配了列表中前 3 个值之和的值,并且永远不会用新的 x< 进行更新,y 值,您可能希望创建一个回调函数来实现该行为。

就目前情况而言,您需要将 sum 语句移至 while 循环中,以便使用新的 x 更新总和,y 值:

def lucky_sevens(numbers):
result = False
x, y = 0, 3

while (y <= len(numbers)):
if sum(numbers[x:y]) == 7:
result = True
break
x += 1
y += 1
return result

print(lucky_sevens([1,2,3,4,5,1,1]))

关于python - 幸运七人组,数组中 3 个连续数字的总和 == 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40856975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com