我真的不知道它是如何工作的,为什么10不是函数的变量?我从未见过将函数应用于该函数之外的项的情况。我不想要问题的答案,只是想了解它。
谢谢你们
编写一个名为general_poly的函数,它符合以下规范。 例如,general_poly([1,2,3,4])(10)应评估为1234,因为1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
所以在这个例子中,函数只接受一个带有general_poly([1,2,3,4])的参数,它返回一个可以应用于某个值的函数,在这种情况下x = 10,带有general_poly([1] ,2,3,4])(10)。
答案 0 :(得分:2)
它要求你general_poly
返回一个函数,例如:
def general_poly(L):
def inner(x):
return sum(x+e for e in L)
return inner
general_poly([1,2,3,4])(10)
# 11+12+13+14 = 50
这应该足以让你能够完成你的作业。
答案 1 :(得分:0)
def general_poly (L):
""" L, a list of numbers (n0, n1, n2, ... nk)
Returns a function, which when applied to a value x, returns the value
n0 * x^k + n1 * x^(k-1) + ... nk * x^0 """
def inner(x):
L.reverse()
return sum(e*x**L.index(e) for e in L)
return inner