Hong-Phuc Bui
2026-07-06 a45bdced8968f14a0f70c3adb15030d4682c0b04
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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")