Polinomi amb més coeficients no nuls

En aquest cal treballar amb la classe Polinomi. Estudieu-vos l’especificació de la classe i descarregueu-vos el fitxer polinomis.py, que conté la implementació.

Es demana que dissenyeu dues funcions recursives i les deseu al fitxer mes_no_nuls.py:

mes_no_nuls.nombre_no_nuls(p)

Retorna el nombre de coeficients no nuls del Polinomi p.

Per exemple:

>>> import polinomis
>>> import mes_no_nuls

>>> p = polinomis.Polinomi()
>>> mes_no_nuls.nombre_no_nuls(p)
0
>>> p[3] = 2
>>> p[2] = 7
>>> mes_no_nuls.nombre_no_nuls(p)
2
>>> r = polinomis.Polinomi()
>>> r[1] = 3
>>> r[2] = 1.4
>>> r[4] = 7 
>>> mes_no_nuls.nombre_no_nuls(r)
3


mes_no_nuls.mes_no_nuls(lp)

Donada una llista de polinomis, lp, retorna el polinomi que té més coeficients diferents de zero. Podeu suposar que la llista té un element com a mínim.

Per exemple:

>>> import polinomis
>>> import mes_no_nuls

>>> p = polinomis.Polinomi()
>>> p[3] = 2
>>> p[2] = 7
>>> q = polinomis.Polinomi()
>>> mes_no_nuls.mes_no_nuls([p, q])==p
True
>>> r = polinomis.Polinomi()
>>> r[1] = 3
>>> r[2] = -1.4
>>> r[4] = 7
>>> mes_no_nuls.mes_no_nuls([p, q, r])==r
True
>>> print(f"p(x)={p}, q(x)={q}, r(x)={r}")
p(x)=2x^3+7x^2, q(x)=0, r(x)=7x^4-1.4x^2+3x

Nota

Disposeu de jocs de prova als fitxers tests-nombre_no_nuls.txt i tests-mes_no_nuls.txt.

Solució

Disposeu d’una solució al fitxer mes_no_nuls.py.