所以基本上我正在尝试制作一个程序,为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而不是方程式。
答案 0 :(得分:0)
您可以使用 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)
将返回:
55
285
由于
希望这能为您提供一个有用的工具来探索和修改它是否与您完全无关。