我正在尝试为Sum和product等操作中的任意模数类编写一个类函数。
我为复杂的数字和形状区域写了类似的东西。
然而,在这里我很困惑因为我不确定是否应该在每个"方法之后返回剩余课程#34;如果我最后需要一个repr函数?
这是代码:
class ModuloZ(object):
def __init__(self,modulo,number):
self.modulo = modulo
self.number = number
def __add__(self,b):
Sum = self.number + b.number
return self.Sum % self.modulo
def __sub__ (self,b):
Remainder = self.number - b.number
return self.Remainder % self.modulo
def __mul__(self,b):
Product = self.number * b.number
return self.Product % self.modulo
我总是得到例如当我尝试打印以下内容时,ModuloZ
对象没有属性Product
:
a = ModuloZ(7, 9)
b = ModuloZ(7, 12)
print a *b
预计得到: 3
所以,我的主要问题是为什么我在明确定义产品操作时会得到这个,或者说这种输入不起作用。
如果错误很小或很基本,我道歉,但我会很感激任何提示。
答案 0 :(得分:1)
在__mul__
方法中,您为Product
分配了一个值,但未向self.Product
分配任何值,您尝试在下一行中使用该值。
与您的其他方法类似。