First page Back Continue Last page Overview Graphics

Polynomial Factory, 2

We can generalize our function for polynomials of arbitrary degree:

def polynomial_creator(*coefficients):

def polynomial(x):

res = 0

degree = len(coefficients) - 1

for index, coeff in enumerate(coefficients):

res += coeff * x**(degree - index)

return res

return polynomial

p1 = polynomial_creator(4)

p2 = polynomial_creator(2, 4)

p3 = polynomial_creator(2, 3, -1, 8, 1)

p4 = polynomial_creator(-1, 2, 1)

for x in range(-2, 2, 1):

print(x, p1(x), p2(x), p3(x), p4(x))

-2 4 0 -11 -7

-1 4 2 -9 -2

0 4 4 1 1

1 4 6 13 2