对于此功能,当我尝试对其进行测试时,没有得到期望的结果。谁能帮我解决这个问题吗?
预期结果:
>>>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
答案 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))