Python 为box'获得两次翻倍;s宽度

Python 为box'获得两次翻倍;s宽度,python,Python,我试图得到最终答案为(32,56),但结果却是(32,112)。我确信这是因为我的双函数问题,在它被调用两次之后,一次用于获取长度,另一次用于获取宽度。下面是我的示例代码 类框: ##构造函数声明。 定义初始值(自身、长度、宽度): 自身长度=长度 自身宽度=宽度 ##使长方体大小加倍的方法。 def双重(自我): self.\uuu length=self.get\u length()*2 self.\uuuu width=self.get\u width()*2 回归自我 ##获取长方体长度

我试图得到最终答案为(32,56),但结果却是(32,112)。我确信这是因为我的双函数问题,在它被调用两次之后,一次用于获取长度,另一次用于获取宽度。下面是我的示例代码

类框:
##构造函数声明。
定义初始值(自身、长度、宽度):
自身长度=长度
自身宽度=宽度
##使长方体大小加倍的方法。
def双重(自我):
self.\uuu length=self.get\u length()*2
self.\uuuu width=self.get\u width()*2
回归自我
##获取长方体长度的方法。
def get_长度(自身):
返回自我长度
##获取长方体宽度的方法。
def get_宽度(自身):
返回自身宽度
def联合收割机(自身、其他):
self.\uuuu length=self.\uuuu length+other.get\u length()
self.\uuuuu width=self.\uuuuu width+other.get\u width()
回归自我
框1=框(5,10)
框2=框(3,4)
box3=框(5,10)
箱1.联合收割机(箱3)
框2.双()
箱1.联合收割机(箱2)
打印(框1.double().get_length())
打印(框1.double().get_width())

照你在问题中所说的去做——你已经加倍了

box1.double()
打印(框1.get_length())#32
打印(框1.get_width())#56

那么,为什么要调用它两次呢?我正在运行一个单元测试,就像self.assertEqual(b1.double().get_length(),32)、self.assertEqual(b1.double().get_width(),56)那么,我想你应该运行一些其他测试。或者接受方框加倍的事实。打印语句只是为了检查加倍值。我有一个如下的单元测试,第二个单元测试没有通过。self.assertEqual(b1.double().get_length(),32),self.assertEqual(b1.double().get_width(),56)类似地,您的第一个测试将
b1
的长度和宽度加倍,因此长度是32,宽度是56。当您进行第二次调用时,它们再次加倍,因此现在您的比较失败,因为宽度为112。如果您只需执行一次
double()
,然后检查两个值,它就会通过。然后您必须断言该值为112。但112不是答案。正确答案是56。这就是为什么我试图弄明白为什么我写的代码会抛出112而不是56。