3. You are to provide the methods iszero(), eval(a), degree(), and lowest_term(). The
iszero() method returns a Boolean that reports whether the polynomial is the zero
polynomial. The eval(a) method returns the evaluation of the polynomial at x=a. The
degree() method returns the degree of the polynomial; for simplicity, return 0 for the
zero polynomial. (Strictly speaking, the degree of the zero polynomial is undefined.). The
lowest_term() method returns the exponent of the lowest non-zero term.
4. You are to provide the method horners() that will return a string of the Horner's rule
representation of the polynomial. The Horner's rule representation of the polynomial
$a_nx^n + a_{n-1}x^{n-1} + \dots + a_1x + a_0$ is the string "x(x(...(x($a_nx + a_{n-1}$) + $a_{n-2}$)+...) + $a_0$". Zero terms and
a coefficient $a_n$ of 1 must not be included in the return string. For example, for the
polynomial $-x^4+3x^2+5$, the method should return the string "x(x(x(-x)+3))+5".