列表中的数字加法

时间:2018-11-20 18:46:00

标签: python

对于这个问题,我试图将列表中的整数加在一起。

例如,如果输入的数字为[2,4,6],则应输出34,因为(1 + 2)+(1 + 2 + 3 + 4)+(1 + 2 + 3 + 4 + 5 +6)= 34。

如果输入为[9],则输出45; (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)= 45。

这是我的代码:

def additionOfList(st):
    n = len(st)
    total = 0

    for i in range(n):
        for k in range(1, n+1):
            total += k

    return total

任何帮助将不胜感激;似乎无法弄清楚。

2 个答案:

答案 0 :(得分:6)

l = [2,4,6]
total = 0

for i in l:
    summation = (i * (i + 1)) / 2
    total = total + summation

print(total) # 34

或...针对一线人

print(sum([(i*(i+1))/2 for i in [2,4,6]]))

答案 1 :(得分:1)

def additionOfList(st):
    return int(sum([(i**2)/2 + i/2 for i in st]))

print(additionOfList([2,4,6])) # -> 34