二维列表汇总

时间:2018-11-20 20:24:56

标签: python

我无法将2d列表中的每一行相加。

这是问题所在:我们将传入二维数字列表。 您应该:1。将每一行中的所有数字相加并输出该数字,然后输出2.所有行的总计。

到目前为止,我的代码如下:

    import sys
    numbers= sys.argv[1:]


    for i in range(0,len(numbers)): 
      numbers[i]= numbers[i].split(',')
    total = 0
    sum = 0
    for row in range(len(numbers)):
      sum += (row)
      total += (sum)
      print(sum)
    print(total)

这是我的输出,预期输出是:

程序输出

Program Failed for Input: 1,1,-2 -1,-2,-3 1,1,1
Expected Output: 0
-6
3
-3

Your Program Output: 0
1
3
4

您的输出不正确。再试一次。

如您所见,除了第二行添加了所有负数之后,所有其他内容都正确,这最后影响了总计。我需要以不同的方式添加负数吗?

感谢您的输入!

1 个答案:

答案 0 :(得分:0)

首先,您需要(在用','分割输入后)将分割后的值从字符串更改为整数,然后可以使用python内置函数sum将它们加起来。

import sys

numbers= sys.argv[1:]

total = 0
for i in numbers:
    row_sum = sum([int(i) for i in i.split(',')])
    total += row_sum
    print(row_sum)
print(total)

输出:

0
-6
3
-3