對于初學者,讓我們設定需要什么樣的函式,將三次表示為函式:
def solve(x):
return 5*x*x*x 4*x*x 3*x 2
然后,該函式將用作另一個函式的一部分來求解這個三次方,其中值將替換 x 以最終找到正確的值。很簡單。
但是,我現在得到提示,我需要在該函式中獲取將用作系數的數字,這些數字存盤在名為 termsList 的串列中。使用此串列,我獲取了數字并需要使用名為cubic() 的函式,并被告知cubic() 中使用的唯一引數是我將用于此函式的術語,同時讓cubic() 生成一個函式就其本身而言,solve()。很難描述,但根據我對說明的理解,結果應該與此大致相似:
def cubic(a, b, c, d):
def solve(x):
return float(a)*x*x*x, float(b)*x*x, float(c)*x, float(d)
solve1= cubic(termsList[0], termsList[1], termsList[2], termsList[3])
solving(solve(x))
我所做的所有嘗試都失敗了,我不知道從哪里開始。唯一根本無法改變的是:
- 使用cubic() 的結果必須存盤在變數solve1 中。
- 必須創建名為solve() 的函式作為運行cubic() 的結果
- 對于cubic(),僅有的4個可接受的引數是4個用于創建函式的值。
- 運行cubic() 后,生成的名為solve() 的函式必須可以在單獨的函式中運行,如上所示。
為了簡單起見,我省略了代碼的其他部分,但這就是我所處的情況。所有其他代碼,包括稍后將使用 solve() 的函式,都已經過測驗可以作業。我真的很難過。不能使用任何庫。
uj5u.com熱心網友回復:
您的命名約定很奇怪,讓我們使用更具描述性的名稱:
def make_cubic(a, b, c, d):
def func(x):
return float(a)*x*x*x float(b)*x*x float(c)*x float(d)
return func
cubic = make_cubic(*termsList)
whatever(cubic(x))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/517643.html
標籤:Python功能
上一篇:在函式中回傳錯誤陳述句
下一篇:如何在R中找到此函式的迭代次數
