import numbers class Polynomial: def __init__(self, coe): if coe[-1] == 0.0: raise RuntimeError("Coefficient invalid") self._coe = tuple(coe) def getExponent(self, n): """ :param: n der n-Expoment des Polynom """ return self._coe[n] def getExponents(self): return tuple(self._coe) def eval(self, x:float) -> float: """ Den Wert des Polynoms an der Stelle x berechnen """ wert = 0 for c in self._coe[-1:0:-1]: wert = (wert + c)*x print(c, wert) wert += self._coe[0] return wert def __call__(self, value:float) -> float: if isinstance(value, numbers.Number): return self.eval(value) else: raise TypeError("Bad argument, expected a number") def __getitem__(self, idx:int) -> float: if idx >= 0 and idx < len(self._coe): return self._coe[idx] else: raise IndexError("idx invalid")