Python TypeError:*=:';int';和';实例';
我不知道如何严格要求,但以下是我的代码:Python TypeError:*=:';int';和';实例';,python,python-2.7,Python,Python 2.7,我不知道如何严格要求,但以下是我的代码: class Bruch: def __init__ (self,zaehler,nenner): self.__zaehler=zaehler self.__nenner=nenner def __mul__ (self, other): self.___zaehler *= other self.__nenner *= other def mal (self,
class Bruch:
def __init__ (self,zaehler,nenner):
self.__zaehler=zaehler
self.__nenner=nenner
def __mul__ (self, other):
self.___zaehler *= other
self.__nenner *= other
def mal (self,other):
self.__zaehler *= other
self.__nenner *= other
def __str__(self):
return "Bruch : " + (self.__zaehler) + "/" + str(self.__nenner)
if __name__ == "__main__":
bruch1 = Bruch(2,3)
bruch2 = Bruch(4,5)
bruchMul = bruch1.mal(bruch2)
print bruchMul
bruchMul2 = bruch1*bruch2
print bruchMul2
当我运行它时,错误:
TypeError:不支持*=:“int”和“instance”的操作数类型
出现了
有人能帮我吗。更改功能:
def __mul__ (self, other):
self.__zaehler *= other
self.__nenner *= other
致:
您希望返回一个新的Bruch,而不更改当前的Bruch。
+(self.\uu-zaehler)
=>+str(self.\uu-zaehler)
它不打印任何内容None@VincentBeltman这是行不通的,因为mul realy在编辑之前不返回任何值-
def __mul__ (self, other):
return Bruch(self.__zaehler * other.__zeahler, self.__nenner * other.__nenner)