
from .Integer import *

__all__ = ["Polynom"]

class Polynom():

    # _coef - массив коэффициентов начиная с большего и заканчивая меньшим
    # _coef_n - количество коэффициентов
    def __init__(self, l):
        self._coef = [Integer(str(i)) for i in l]
        self._coef_n = len(l)

    # TO DO:
    # Пофиксить вывод отрицательных коэффициентов
    def __str__(self):
        s = ""
        for i in range(self._coef_n - 1, -1, -1):
            print(i)
            if i != 0:
                s += str(self._coef[self._coef_n - i - 1]) + f"x^{i} + "
            else:
                s += str(self._coef[self._coef_n - i - 1])
        return s

    def power(self):
        '''Модуль DEG_P_N выполнил и оформил Солодков Никита'''
        return self._coef_n - 1