【发布时间】:2020-11-16 16:00:16
【问题描述】:
我想通过以下方式定义一个随输入 x 变化的函数:
1/x + 1/(x^2) + 1/(x^3) + ... + 1/(x^n),
其中 n 取决于用户。 为 n=2 编写了一个幼稚的代码:
def extendFunction(f, i):
return lambda x : float(i) / float(x) + f
def f(x):
return 1.0 / float(x)
i = 2
f = extendFunction(f, i)
print(f(1.5))
但正如您所观察到的,它不会起作用,因为 python 解释器不会在函数中添加浮点数。当然我可以用命令式的方式来做,但我一般想知道是否有一种方法可以根据已经给定的函数生成函数。
【问题讨论】:
标签: python function functional-programming