使用 Python 通过乘积计算多项式

Compute a polynomial via a product using Python

开始学习Python,一直在参考"A primer on Scientific Programming with Python by HP Langtangen"。我刚刚开始关于函数的主题,我被分配了一项任务来开发一个函数,该函数通过乘积计算多项式。确切的问题是

给定 n+1 个根 r0, r1, . . . , n+1 次多项式 p(x) 的 rn, p(x) 可以通过

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

写一个函数 poly(x, roots) 接受 x 和 根作为参数和 returns p(x)

有什么方法可以不使用 Sympy 来解决这个问题吗?

你只需要迭代。

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) )