定義一個Python類Polynomial,該類提供了對多項式執行 代數運算的方法。在下面的示例轉錄物 你的類應該表現:Python - 根據參數定義具有可變數量屬性的類
>>> p1 = Polynomial([1, 2, 3])
>>> p1
1.000 z**2 + 2.000 z + 3.000
>>> p2 = Polynomial([100, 200])
>>> p1.add(p2)
1.000 z**2 + 102.000 z + 203.000
>>> p1 + p2
1.000 z**2 + 102.000 z + 203.000
>>> p1(1)
6.0
>>> p1(-1)
2.0
>>> (p1 + p2)(10)
1323.0
>>> p1.mul(p1)
1.000 z**4 + 4.000 z**3 + 10.000 z**2 + 12.000 z + 9.000
>>> p1 * p1
1.000 z**4 + 4.000 z**3 + 10.000 z**2 + 12.000 z + 9.000
>>> p1 * p2 + p1
100.000 z**3 + 401.000 z**2 + 702.000 z + 603.000
>>> p1.roots()
[(-1+1.4142135623730947j), (-1-1.4142135623730947j)]
>>> p2.roots()
[-2.0]
>>> p3 = Polynomial([3, 2, -1])
>>> p3.roots()
[-1.0, 0.33333333333333331]
>>> (p1 * p1).roots()
Order too high to solve for roots.
你怎麼會去設計這個功能,所以它可以採取不同等級的多項式。我真的迷失了。
謝謝。
爲什麼您需要可變數量的屬性?使用包含列表的單個屬性。 – Barmar
那我該如何去打印呢? –
http://stackoverflow.com/questions/1535327/python-how-to-print-a-class-or-objects-of-class-using-print – Barmar