我在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您的输出不正确。再试试。
正如你所看到的,我所有的东西都是正确的,除了第二行,它添加了所有的负数,然后影响了最后的总计。我需要以不同的方式添加负数吗?
感谢您的投入!
发布于 2018-11-21 04:33:18
你首先需要(在用',‘拆分你的输入之后)把拆分的值从字符串修改为整数,然后你可以使用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
-3https://stackoverflow.com/questions/53400983
复制相似问题