如何打印一系列值的和?

时间:2019-10-29 01:23:59

标签: python

对于此功能,当我尝试对其进行测试时,没有得到期望的结果。谁能帮我解决这个问题吗?

预期结果:

>>>sumInc(3, 10, 3)-> 18

我的结果:

>>>sumInc(3, 10, 3) -> 135

我的代码:

def sumInc(m,n,D):
    total = 0
    for i in range(0, n-1):
        total = total + m + (i*D)
    return total

1 个答案:

答案 0 :(得分:1)

我认为您正在使它变得比所需复杂得多。如果函数的参数与range的参数(开始,停止,步进)相同,则可以将它们传递给要迭代的range

def sumInc(m, n, D):
    total = 0
    for i in range(m, n, D):
        total = total + i
    return total

当然,您不需要自己写总和,您可以直接在sum对象上调用range。整个函数体可以是:return sum(range(m, n, D))