为什么我的方法运算符不返回



我正在写一个多项式类,并且与我的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在函数的末尾 getItem 以防止其返回,而是返回值0。

这将使检查"如果p1 [i]!= 0:"在测试代码中评估为false的值,而无需打印'none'值。

最新更新