__ str __
多項式を使用して関数 (別名プリティ プリント)を作成するのに苦労しています。辞書を使用して、力をキーとして、要素を係数として格納します。リストでやったことがありますが、辞書はまだマスターしていません。改善すべき点はありますか?
2 番目の多項式で、最後の定数が定数でない場合、reverse()
関数でキーを配置した後、プラスが常にそこにあることがわかります。これを防ぐにはどうすればよいですか? ところで、演算子をオーバーロードしようとしています。これを行った後、、、、および...を実行しますが__ add__
、最初にこれを終了します :P__ mul__
__ sub__
__ call__
class Polynomial(object):
def __init__(self, coefficients):
self.coefficients = coefficients
def __str__(self):
polyd = self.coefficients
exponent = polyd.keys()
exponent.reverse()
polytostring = ' '
for i in exponent:
exponent = i
coefficient = polyd[i]
if i == 0:
polytostring += '%s' % coefficient
break
polytostring += '%sx^%s + ' % (coefficient, exponent)
return polytostring
dict1 = {0:1,1:-1}
p1 = Polynomial(dict1)
dict2 = {1:1,4:-6,5:-1, 3:2}
p2 = Polynomial(dict2)
print p1
print p2