2015-09-28 230 views
-2

我正在學習這個Python,我對它很陌生。 我正在解決這樣一個問題:如何在Python的另一個函數中調用函數?

Q1。)編寫一個Python函數evalQuadratic(a,b,c,x),它返回二次方程的值a * x ** 2 + *⋅ X + C。 這個函數帶四個數字並返回一個數字。 我的解決方案:

def evalQuadratic(a, b, c, x): 
    ''' 
    a, b, c: numerical values for the coefficients of a quadratic equation 
    x: numerical value at which to evaluate the quadratic. 
    ''' 
    return ((a*(x*x))+(b*x)+c) 

現在這部分是好的。 還有一個問題,如下所示:

Q2。)編寫一個Python函數twoQuadratics,它接收兩組係數和x值並打印評估兩個二次方程的結果之和。它什麼都不做。也就是說,您應該評估並打印下面等式的結果:a1 * x1 2 + b1 * x1 + c1 + a2 * x2 2 + b2 * x2 + c2 您應該使用您在evalQuadratic函數中定義的「這些練習的「二次」問題(您不需要在此框中重新定義evalQuadratic;當您調用evalQuadratic時,我們的定義將被使用)。

我的解決方案:

def twoQuadratics(a1, b1, c1, x1, a2, b2, c2, x2): 
    ''' 
    a1, b1, c1: one set of coefficients of a quadratic equation 
    a2, b2, c2: another set of coefficients of a quadratic equation 
    x1, x2: values at which to evaluate the quadratics 
    ''' 
    for i in range(2): 
     return evalQuadratic(a1, b1, c1, x1) + evalQuadratic(a2, b2 ,c2, x2) 

我不知道什麼是錯的代碼,其實它在我的電腦上冠IDE工作正常,但沒有返回值的在線編輯器,在這裏我需要給解。

+0

您是否還在在線編輯器中添加了'evalQuadratic()'函數? –

+0

爲什麼你有一個for循環? – barny

+1

你定義了一個循環肯定索引你的變量(這是沒有必要的),你不使用我... –

回答

-1

在這裏你可以把輸入作爲一個字典的列表,所以你的功能將是。所以你的功能會更通用。

enter [{ 
    'a':2, 
    'b':3, 
    'c':5, 
    'x':10, 
}, 
{ 
    'a':4, 
    'b':7, 
    'c':5, 
    'x':10, 
}] 
def my_fun(co_list): 
    sum = 0 
    for co in co_list: 
    sum = sum + evalQuadratic(co['a'], co['b'], co['c'], co['x']) 
return sum here 
+0

這不但不能解決問題,它在語法上也不合法。 – TigerhawkT3

0

你的規範說:

編寫Python功能,twoQuadratics,即採用兩套係數和x值和打印評價兩個二次方程

結果的總和

注意術語:它的「打印」,而不是「收益」,所以這裏有什麼期望非常肯定:

def twoQuadratics(a1, b1, c1, x1, a2, b2, c2, x2): 
    print(evalQuadratic(a1, b1, c1, x1) + evalQuadratic(a2, b2 ,c2, x2)) 
+0

我怎麼這麼粗心......該死! 謝謝布魯諾..非常感謝你。 我想upvote你的答案,但我不能沒有足夠的ruputation。 你認爲在這裏問這個問題是不對的,就像少數人低估了我的問題,並不是說我沒有嘗試過我有解決方案,但是有一些carelesness,我同意。 –

相關問題