0
戻っている ここに私のGetItemための私のコードです:なぜ私の方法のオペレータが、私は、多項式クラスを書いていないし、私のGetItem演算子でトラブルを抱えているどれ
def __getitem__(self, idx):
for i in range(len(self.coeffs)):
if self.coeffs[i][1] == idx:
return (self.coeffs[i][0])
break
とここに私のテストコードです:
for i in range(P1.degree() + 1):
if P1[i] != 0:
print(P1[i], end = " ")
多項式は6X^14 + 9X^11-12x^3 + 42であり、それはしかし、すべての非ゼロ係数を返し、私はこの
42 None None -12 None None None None None None None 9 None None 6
のような出力を得ます
私の質問はどのように私はcoeffientsを表示することができますまた、なぜもとにかく表示されません?
'if'文が決してマッチしない場合、関数が最後に落ちると' None'が返されます。 – BrenBarn
1)関数の終わりに達すると、すべてのpython関数は暗黙的に 'None'を返します。 2)すべての**値を無条件に印刷するには、コードを_スキップします。 'P1 [i]'の値であれば 'None'と表示してはどうですか? –
'return'(https://docs.python.org/3.6/reference/simple_stmts.html#return)の後の' break'は、 'return'がすでに現在の関数を離れるので不要です。 –