2016-02-27 47 views
-2

我開始學習Python,我一直提到「HP Langtangen用Python進行科學編程的入門書」。我剛剛開始了關於函數的主題,並且我已經分配了一個任務來開發一種按產品計算多項式的函數。確切的問題是使用Python計算產品的多項式

給定n + 1個根r0,r1,...。 。 。 ,度n + 1的多項式P(X)的RN,P(X) 可以通過

p(x) = (x - r0)(x - r1) · · · (x - rn-1)(x - rn) 

計算寫功能的聚(X,根),其採用x和 的列表根根作爲參數和返回p(x)

有什麼辦法可以解決這個問題,而不使用Sympy

回答

0

你只需要迭代。

def poly(x, roots): 
    poly = 1 
    for r in roots: 
     poly *= (x - r) 

    return poly 

# EXAMPLE 
x = 1 
roots = [2, 5, 7] 
print (poly(x, roots)) 
+0

謝謝你的輸入mtk99。但它會在x = 1時評估函數。期望的輸出是多項式方程,根據輸入必須是(x-2)(x-5)(x-7)。 – abe25

+0

最後一行只是例子!你問的只是功能poly(x,根) – purpletentacle

+0

噢。我明白最後一行是一個例子。但是當我運行函數poly(x,[2,5,7])時,它給我 TypeError:不支持的操作數類型爲 - :'function'和'int' – abe25