我正在尝试为这个问题创建一个解决方案,我的代码专注于循环(for 和 while):
令参数 Q 为“矩形”列表,由左下角的宽度、高度和 (x,y) 位置指定。Enclosure(Q) 返回包含 Q 中每个矩形的最小矩形。矩形的表示方式是元组,(x,y,width,height)。
到目前为止,这是我的代码:
def Enclosure(Q):
c = []
d = []
for (x,y,width,height) in sorted(Q):
c.append(x)
d.append(y)
print(c)
print(min(c))
e=tuple([min(c)]+[min(d)])
print(e)
忽略打印语句,这些语句仅用于调试目的。到目前为止,我的代码创建了一个包含矩形左下角的 (x,y) 坐标的元组,我试图将其设为程序形式。但在此之后,我完全不知道如何找到封闭矩形的(高度,宽度)。我怎样才能做到这一点?
此外,这是程序在运行时应该执行的示例:
R1 = (10,20,5,100) #R1,R2,R3 are each rectangles
R2 = (15,5,30,150) #layout of the tuple:(x,y,width,height)
R3 = (-4,30,20,17)
Enclosure([R1,R2,R3])
(-4, 5, 49, 150) #rectangle that encloses R1,R2,R3