這是鍛鍊:傳遞函數作爲參數傳遞給其他功能
的(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'可以是任何對象。你可以有可調用的類,等等。 –