我似乎無法弄清楚我的代碼出了什麼問題,爲什麼我沒有得到任何東西。我似乎也無法弄清楚如何展開矩形。 這是說明: 創建一個名爲expand
的方法,該方法接受一個偏移值並返回在所有方向上擴展偏移的矩形的副本。似乎無法從我的課上得到輸出
>>> r = Rectangle(30, 40, 100, 110)
>>> print(r)
Rectangle(30, 40, 100, 110)
>>> r1 = r.expand(offset=3)
>>> print(r1)
Rectangle(27, 37, 106, 116)
原來的矩形不應該被修改。
>>> print(r)
Rectangle(30, 40, 100, 110)
負值應該返回一個縮小的矩形。
>>> r2 = r.expand(-5)
>>> print(r2)
Rectangle(35, 45, 90, 100)
這是我到目前爲止有:
class Rectangle:
def __init__(self, initx, inity, initw, inith):
self.x = initx
self.y = inity
self.w = initw
self.h = inith
def __str__(self):
return('Rectangle(' + str(self.x) + ',' + str(self.y) + ','
+ str(self.w) + ',' + str(self.h)+')')
def right(self):
return self.x + self.w
def top(self):
return self.y + self.h
def size(self):
return '(' + self.w + ',' + self.h+ ')'
def position(self):
return '(' + self.x + ',' + self.y + ')'
def area(self):
return self.w * self.h
def expand(self):
# can't figure this part out
r = Rectangle(5,10,50,100)
r2 = Rectangle(5,10,50,100)
r3 = Rectangle(3,5,10,20)
r4 = Rectangle(12,10,72,35)
r5 = Rectangle(5,7,10,6)
r6 = Rectangle(1,2,3,4)
print(r2)
print(r3.right())
print(r4.right())
print(r5.top())
print(r6.size())
print(r6.position())
print(r6.area())
嘗試從'def expand(self,offset)開始:' – 2014-12-01 22:55:53
如果您不想修改原始矩形,那麼您需要創建一個新的矩形。你如何創建第二個矩形,它應該具有多大的尺寸/形狀? – Cuadue 2014-12-01 23:00:41