a = map(int, raw_input().split())
n = len(a)
for i in range(0, n):
start_sum = sum(a[0:i+1]) # to calculate sum of first i
last_sum = sum(a[-(n-i):]) # to calculate sum of last n-i
现在我必须存储 start_sum 和 last_sum 的总和,并将其存储在新列表b 中,其索引与 i相同。如下所示
b[i] = start_sum + last_sum
如何实现这一点。我是Python的新手。任何帮助都会很棒。
答案 0 :(得分:0)
一种解决方案可能是:
a = map(int, raw_input().split())
b = []
for i in range(0, n):
start_sum = sum(a[0:i+1]) # to calculate sum of first i
last_sum = sum(a[-(n-i):]) # to calculate sum of last n-i
b.append(start_sum + last_sum)
其他解决方案是可能的......
你遇到的问题是,b没有被创建为具有n个位置的列表,因此将某些内容放在i
处会失败。
答案 1 :(得分:0)
第i个值将在前i个值和最后的n-i值中。其余的值只有一组。因此,如果您想要相同的功能,您可以这样做:
a_sum = sum(a)
b = [x+a_sum for x in a]