티스토리 뷰

지금까지 배운 내용을 복습하기 위한 퀴즈를 드리겠습니다. 직접 한 번 풀어보시고 나서 정답을 확인해주세요.

Quiz) 주어진 코드를 활용하여 부동산 프로그램을 작성하시오.

(출력 예제)
총 3대의 매물이 있습니다.
강남 아파트 매매 10억 2010년
마포 오피스텔 전세 5억 2007년
송파 빌라 월세 500/50 2000년

 

[코드]

class House:
    # 매물 초기화 : 위치, 건물 종류, 매물 종류, 가격, 준공년도
    def __init__(self, location, house_type, deal_type, price, completion_year):
        pass

    # 매물 정보 표시
    def show_detail(self):
        pass

 

이번 퀴즈는 주어진 클래스를 완성하는 것이 목표입니다. 생성자를 통해 멤버변수를 정의하고 매물 정보를 표시하기 위한 show_detail() 메소드에서는 멤버변수를 순서대로 출력합니다.

 

클래스를 완성한 뒤에는 퀴즈에 소개된 3대 매물에 대한 House 객체를 만들고 총 매물 수를 출력한 뒤 각 매물의 정보를 표시하기 위해 show_detail() 메소드를 호출합니다.

 

▼ 해설 보기

더보기

House 클래스의 생성자는 전달값으로 넘어온 값들을 하나씩 멤버변수로 만들어주면 됩니다. 멤버변수는 앞에 self. 를 붙여주어야 한다는 점 주의해주시구요. show_detail() 메소드는 특별한 양식이 필요 없으므로 print() 함수를 통해 멤버변수를 순서대로 출력해줍니다.

class House:
    # 매물 초기화 : 위치, 건물 종류, 매물 종류, 가격, 준공년도
    def __init__(self, location, house_type, deal_type, price, completion_year):
        self.location = location
        self.house_type = house_type
        self.deal_type = deal_type
        self.price = price
        self.completion_year = completion_year

    # 매물 정보 표시
    def show_detail(self):
        print(self.location, self.house_type, self.deal_type, self.price, self.completion_year)

 

여러 대의 매물에 대해 관리를 해야 하므로 houses 라는 이름의 리스트를 준비해두겠습니다. 그리고 각 매물정보를 전달하여 House 객체를 총 3개 생성합니다. 앞에서 만들어둔 리스트에 append() 를 통해 객체들을 추가합니다.

houses = []
house1 = House("강남", "아파트", "매매", "10억", "2010년")
house2 = House("마포", "오피스텔", "전세", "5억", "2007년")
house3 = House("송파", "빌라", "월세", "500/50", "2000년")

houses.append(house1)
houses.append(house2)
houses.append(house3)

 

먼저 총 매물 수를 출력해볼까요?

len() 함수를 이용하면 houses 리스트에 몇 개의 객체가 있는지 확인할 수 있으며 이 값이 바로 총 매물 수가 됩니다.

print("총 {0}대의 매물이 있습니다.".format(len(houses)))

 

마지막으로 각 매물의 정보를 표시하기 위해 객체별로 show_detail() 메소드를 호출하면 되는데, 객체들은 리스트로 관리하고 있으니 반복문을 이용하면 짧은 코드로 원하는 동작을 구현할 수 있습니다.

for house in houses:
    house.show_detail()

 

실행 결과는 다음과 같습니다.

총 3대의 매물이 있습니다.
강남 아파트 매매 10억 2010년
마포 오피스텔 전세 5억 2007년
송파 빌라 월세 500/50 2000년

 

지금까지 작성한 전체 코드입니다.

class House:
    # 매물 초기화 : 위치, 건물 종류, 매물 종류, 가격, 준공년도
    def __init__(self, location, house_type, deal_type, price, completion_year):
        self.location = location
        self.house_type = house_type
        self.deal_type = deal_type
        self.price = price
        self.completion_year = completion_year

    # 매물 정보 표시
    def show_detail(self):
        print(self.location, self.house_type, self.deal_type, 
        self.price, self.completion_year)


houses = []
house1 = House("강남", "아파트", "매매", "10억", "2010년")
house2 = House("마포", "오피스텔", "전세", "5억", "2007년")
house3 = House("송파", "빌라", "월세", "500/50", "2000년")

houses.append(house1)
houses.append(house2)
houses.append(house3)

print("총 {0}대의 매물이 있습니다.".format(len(houses)))
for house in houses:
    house.show_detail()

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함