我写了一个多项式类并且遇到了我的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
所以我的问题是我怎么才能只展示系数,为什么没有出现呢?
答案 0 :(得分:0)
你可以试试 返回0 在函数 getitem 的末尾,以防止它返回None,而是返回值0.
这将检查"如果P1 [i]!= 0:"在测试代码中评估为false,其中“无”现在出现的值为“无”'价值不会被打印。