这是锻炼:传递函数作为参数传递给其他功能
的(a)该函数采用另一函数f(n)的,其中n∈N作为参数 ,并返回该行的限制。该函数之前使用了一个epsilon作为 ,但是这次循环将在f (n)和f(n + 1)之间的差小于ε时结束。
(这不适用于积分,只适用于运动)。
这是我的代码:
import sys
sys.setrecursionlimit(10000000)
epsilon = 0.0001
def limit(param):
while param(1) >= epsilon:
print(param)
return -1
def f(n):
return f(n/(n + 1))
limit(f)
我必须做出一个功能limit
这需要其它功能参数。这些功能创建行:e.g:
f(n) = n/(n + 1)
g(n) = n/(n + 2)
h(n) = n * 0.005
的功能限制需要能够把所有这些功能作为参数,而不是检查是否该函数逼近一个(与小量完成)。
我知道如何测试一个特定行收敛到一个:
epsilon = 0.0001
def test(n):
while abs(n/(n + 1) -1) >= epsilon:
n += 1
print(n, "/", n+1, " = ", n/(n+1))
return True
test(1)
但我会遇到以下问题在我的第一个代码:
- 如何传递函数(例如F( n))来限制和能够使用参数
- 如何在功能限制中使用n作为参数f
- ...
任何帮助一般会受到欢迎!
事实上,只要func的类型有'__call__'方法,'func'可以是任何对象。你可以有可调用的类,等等。 –