丢失:定义一个函数,它接受一个数字元组并返回元组中只有偶数的总和

时间:2015-02-12 00:22:30

标签: python polymorphism

标题几乎说明了一切。这是我写的代码,我一直在修补。

def sum_evens(tup):
    for num in tup:
        if num % 2 ==0:
            total = num+num
            print(total)

我迷失在这里,对我能做什么的任何想法? 提前谢谢!

2 个答案:

答案 0 :(得分:1)

你需要从0开始总计,并在找到匹配的数字时加到它

def sum_evens(tup):
    total = 0
    for num in tup:
        if num % 2 ==0:
            total = total+num
    return total

最后你需要将总数返回到任何调用它以便可以使用

有很多更好的方法可以做到这一点......但我刚刚编辑了你的功能

print sum_evens([1,2,3,4,5,6,7]) # 2+4+6 = 12

答案 1 :(得分:0)

您需要了解列表推导。基本上,它们是循环的循环,因此您可以通过迭代旧列表来定义新列表。您还可以添加条件子句进行选择。

在这种情况下,我们遍历现有的元组,并在除以2时查找余数为零的各个成员。然后,我们构建一个包含这些成员的列表并找到一个总和。

print sum([x for x in my_tuple if x % 2 == 0])