擅长:python、mysql、java
<p>我最近遇到了这个问题,今天遇到了命名元组,所以我想试试:</p>
<pre><code>from collections import namedtuple
RECT_NAMEDTUPLE = namedtuple('RECT_NAMEDTUPLE', 'x1 x2 y1 y2')
Rect1 = RECT_NAMEDTUPLE(10,100,40,80)
Rect2 = RECT_NAMEDTUPLE(20,210,10,60)
def overlap(rec1, rec2):
if (Rect2.x2 > Rect1.x1 and Rect2.x2 < Rect1.x2) or \
(Rect2.x1 > Rect1.x1 and Rect2.x1 < Rect1.x2):
x_match = True
else:
x_match = False
if (Rect2.y2 > Rect1.y1 and Rect2.y2 < Rect1.y2) or \
(Rect2.y1 > Rect1.y1 and Rect2.y1 < Rect1.y2):
y_match = True
else:
y_match = False
if x_match and y_match:
return True
else:
return False
print ("Overlap found?", overlap(Rect1, Rect2))
Overlap found? True
</code></pre>