方程求和程序

Summation of Equation Program

所以基本上我正在尝试制作一个程序,该程序将为 nStart 到 nEnd 的每个值计算方程。到目前为止,这是我的代码

def summation(nStart , nEnd , eqn): 
    sum = 0
    while nStart - 1 != nEnd:
        sum = sum + eqn
        nStart += 1
    return sum

print summation(1 , 5 ,  n + 1)

我知道最后一行没有定义 n。我想这是因为我有 n + 1 但我该如何解决呢?我试着让 n = 0 但这并没有帮助,因为 eqn 只是 1 而不是方程式。

您可以使用 lambda 函数 作为参数。例如:

def summation(start, end, eqn):
    sum = 0
    # Note that the *end* value will not be used, since range stops at *end-1*
    for i in range(start, end):
        sum+=eqn(i)
    return sum

print summation(0,10,lambda x: x+1)
print summation(0,10,lambda x: x**2)

会 return:

55
285

formula

formula2

希望这能为您提供一个有用的工具来探索和修改它是否不完全符合您的要求。