39.2 연습문제: 사각형의 넓이 구하기

다음 소스 코드를 완성하여 사각형의 넓이가 출력되게 만드세요.

practice_area_of_rectangle.py

class Rectangle:
    def __init__(self, x1, y1, x2, y2):
        self.x1 = x1
        self.y1 = y1
        self.x2 = x2
        self.y2 = y2
 
rect = Rectangle(x1=20, y1=20, x2=40, y2=30)
 
                              
                              
                              
print(area)

실행 결과

200

정답

 width = abs(rect.x2 - rect.x1)
 height = abs(rect.y2 - rect.y1)
 area = width * height

해설

클래스 Rectangle을 보면 속성이 x1, y1, x2, y2이므로 점 두 개로 구성된 사각형입니다.

그림 39-3 두 점을 이용한 사각형
그림 39 3 두 점을 이용한 사각형

너비 width를 구하려면 rect.x2에서 rect.x1을 빼면 되고, 높이 height를 구하려면 rect.y2에서 rect.y1을 빼면 됩니다. 단, 음수가 나올 수도 있으므로 abs 함수를 사용하여 절댓값으로 만들어줍니다. 직사각형의 넓이는 너비 곱하기 높이이므로 widthheight를 곱해주면 됩니다.