代码之家  ›  专栏  ›  技术社区  ›  ncarrawa

删除特定项后,对列表列表中的偶数求和

  •  0
  • ncarrawa  · 技术社区  · 3 年前

    实现功能 sum_even(xs) xs 并返回 偶数之和,但跳过第一行和第一列的数字 xs xs 。您不能使用任何内置函数或方法,除非 int , str , range len .

    sum_even([[1,2,3],[4,5,6],[7,8,9]]) --> 14

    这就是我所处的位置:

    xs = [[1,2,3],[4,5,6],[7,8,9]]
    def sum_even(xs):        
        first = (xs[0])
        second = (xs[1])
        third = (xs[2])
        first.clear()
        for i in second[1:]:
                print(i)        
        for i in third[1:]:
                print(i)
        return(sum_even(xs))
        result = 0 
        for i in xs:
            if not i % 2:
                result += i
             
        print(result)
    

    5
    6
    8
    9
    None
    

    现在我需要把所有的偶数相加得到14。我是否应该根据第10行之后的结果创建一个新列表,然后创建一个简单的求和函数?

    0 回复  |  直到 3 年前
        1
  •  0
  •   phil    3 年前

    这似乎是一个学习如何使用的练习 range 回顾 here

    def sum_even(xs):
        sum = 0
        for i in range(1, len(xs)):
            for j in range(1, len(xs[i])):
                if not xs[i][j] % 2:
                    sum += xs[i][j] 
        return sum