python 我如何得到for循环[重复]的总和

70gysomp  于 2023-04-19  发布在  Python
关注(0)|答案(1)|浏览(91)

此问题已在此处有答案

How to use a loop then calculate the sum of a list? [duplicate](2个答案)
22小时前关门了。
这篇文章是编辑并提交审查21小时前.
我的代码

for i in range(3):
    A=(list(map(int, input().split())))
    for i in range(1,len(A)):
        stk=(A[i]-(A[i-1]+1))
        print(stk)

结果输入(1 3 4)(1 3 5)(1 2 3 4 5)
我想添加stk每(例如1/2/0)请告诉我如何添加stk

krcsximq

krcsximq1#

使用sum函数对一个可迭代对象求和(您可以轻松地将for循环转换为一个简单的生成器,生成stk的所有值):

A = [int(i) for i in input().split()]
print(sum(
    A[i]-(A[i-1]+1)
    for i in range(1,len(A))
))

这相当于执行:

A = [int(i) for i in input().split()]
total = 0
for i in range(1, len(A)):
    total += (A[i] - (A[i-1] + 1))
print(total)

(Note当你把一个和存储在一个变量中来计算它时,你不应该给予它命名为sum,因为这会掩盖非常有用的sum函数的名字!)
你也可以用zip来做这种成对迭代:

print(sum(
    b - a - 1 
    for a, b in zip(A, A[1:])
))

相关问题