循环遍历数组中的索引3s

时间:2015-08-04 19:07:49

标签: python arrays list

我正在尝试创建一个函数来检查数组中三个连续数字的总和是否等于7.

列表中的前三个索引似乎有效。但是,我的for循环不会在整个列表中继续。我该如何解决这个问题?

def seven(array):
    three = []
    count = 0

    for num in array[count::count+3]:
        three.append(num) 

        if sum(three) == 7:
            return True
            break
        else:
            count += 1
            continue

print(seven([1,1,5,0,6,1]))

2 个答案:

答案 0 :(得分:0)

您可以使用python' s range方法按3步迭代数组。 range(0,len(array)-2,3)将比数组的总长度小0到3,每次传递后增加3

然后,在您对sum()的调用中,您可以使用数组拆分来获取接下来的3个对象的总和

def seven(array):
        three = []
        count = 0

        for num in range(0,len(array)-2,3):
            three.append(num) 

            if sum(array[num:num+3]) == 7:
                return True
        return False
    print(seven([1,1,5,0,6,1]))

答案 1 :(得分:0)

问题是你迭代的数组只在迭代开始时创建一次。

def seven(array):
    for i in range(len(array)-2):
        three = array[i:i+3]
        if sum(three) == 7:
            return True
    return False