0
class polynomial:
    def __init__(self, *coeff):
            self.coeff = coeff
    def __repr__(self):
            return 'polynomial(*{!r})'.format(self.coeff)
    def __add__(self, other):
            return polynomial(*(x + y for x, y in zip(self.coeff, other.coeff))                                                             
g = polynomial(1, 2, 3)
d = polynomial(3, 3, 4)

我正在尝试学习 python,现在我正在尝试掌握课程的窍门,并且我提出了这个错误 g = polynomial(1, 2, 3) ^ SyntaxError: invalid syntax

4

1 回答 1

0

对我来说,在__add__函数中添加右括号后,效果很好。

我可以在单个 jupyter 笔记本单元格中重现您的错误。但是,如果您将类定义与两个不同单元格中的实例化分开,您将获得

return polynomial(*(x + y for x, y in zip(self.coeff, other.coeff))
                                                                   ^
SyntaxError: unexpected EOF while parsing

顺便说一句,这里通常需要一个最小的完整且可验证的示例。如果您试图构建一个,您通常只会包含该__init__函数。迭代一下,您可能会遇到__add__函数中的错误。因此,将来执行这样的程序,将提高您的理解并增加获得好答案的机会

于 2017-09-04T19:34:36.707 回答