应用函数将一个参数赋值给Python中的值

时间:2016-10-29 13:21:45

标签: python list variables

我真的不知道它是如何工作的,为什么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)。

2 个答案:

答案 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