如何查找列表中所有数字的总和,不包括数字13和紧随其后的数字?

时间:2019-06-08 00:42:43

标签: python

即使使用循环或递归,我也无法解决它。有人可以帮助我解决这个问题吗?谢谢

2 个答案:

答案 0 :(得分:1)

尝试一下

l = [1, 2, 13, 5]
prev = False
sum = 0
for i in l:
    if i == 13:
        prev = True
        continue
    if prev:
        prev = False
        continue
    sum += i

prev中,如果最后一个数字是否为13,则保持存储;如果prev为True,则循环转到下一个项目时,它不求和并转到下一个迭代。

仅当sum不是13或i为True时,此代码才将项加到prev

答案 1 :(得分:0)

如果始终只有一个数字13,可以使用index()查找数字13,然后找到数字13。

$provider = str_replace($match[0], $map . $match[0], $provider);