簡體   English   中英

如何在Python中的另一個函數中調用一個函數?

[英]How to call a function in another function in 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 您應該使用您在“Quadratic”問題中定義的 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)

我不知道代碼有什么問題,實際上它在我的 PC 上的 Canopy IDE 上運行良好,但在在線編輯器中沒有返回任何內容,我需要在其中提供解決方案。

你的規范說:

編寫一個 Python 函數 twoQuadratics,它接受兩組系數和 x 值,並打印計算兩個二次方程的結果之和

注意這個詞:它是“打印”,而不是“返回”,所以這里的預期是非常肯定的:

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

在這里,您可以將輸入作為 dict 列表,以便您的功能成為。 所以你的功能會更通用。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM