[Quiz 08] 2.5 클래스
작성자 : kim2kie
(2023-03-05)
조회수 : 9479
[참조]
.관련 동영상
https://youtu.be/MuNOAArae0M
Q)
주어진 코드를 활용하여 다음 출력 결과를 갖는 부동산 프로그램을 작성하라.
.주어진 코드
class House:
# 매물 초기화 : 위치, 건물 종류, 매물 종류, 가격, 준공년도
def __init__(self, location, house_type, deal_type, price, completion_year):
pass
# 매물 정보 표시
def show_detail(self):
pass
.출력 결과
총 3개의 매물이 있습니다.
강남 아파트 매매 10억 2010년
마포 오피스텔 전세 5억 2007년
송파 빌라 월세 500/50 2000년
A) 해설
클래스, 인스턴스, 생성자 등 2.5절 클래스 참조
C) 코드: "quiz-08.py"
class House:
# 매물 초기화 :
# 위치(location), 건물 종류(house_type), 매물 종류(deal_type), 가격(price), 준공년도(completion_year)
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)
house1 = House("강남", "아파트", "매매", "10억", "2010년") # 인스턴스 1 생성
house2 = House("마포", "오피스텔", "전세", "5억", "2007년") # 인스턴스 2 생성
house3 = House("송파", "빌라", "월세", "500/50", "2000년") # 인스턴스 3 생성
houses = [] # 객체를 넣을 수 있는 Null 리스트 생성
houses.append(house1) # 리스트에 생성된 인스턴스들을 차례로 추가
houses.append(house2)
houses.append(house3)
print("총 {0}개의 매물이 있습니다.".format(len(houses)))
for house in houses:
house.show_detail() # 클래스의 출력함수로 리스트에 있는 인스턴스들을 차례로 출력
Q-report)
주어진 코드는 class를 활용하여 평균 학점(average grade)를 산정하는 프로그램이다.
------
class GradeCalculator:
def __init__(self, scores):
self.scores = scores
def calculate_average(self):
total = sum(self.scores)
return total / len(self.scores)
def calculate_grade(self):
average = self.calculate_average()
if average >= 90:
return "A"
elif average >= 80:
return "B"
elif average >= 70:
return "C"
elif average >= 60:
return "D"
else:
return "F"
scores = [85, 92, 78, 90, 89]
calculator = GradeCalculator(scores)
print("Average score:", calculator.calculate_average())
print("Grade:", calculator.calculate_grade())
--------
출력결과
Average score: 86.8
Grade: B
--------
주어진 코드를 수정하여, 다음 scores일 경우, 결과를 평균 학점로 숫자로 출력하라.
scores = [B+, A, C+, A, B+]
--------
출력결과
Average score: 4.15
--------
여기서
A+ = 4.5
A = 4.0
B+ = 3.5
B = 3.0
C+ = 2.5
C = 2.0
F = 0.0
이전 글
[Quiz 07] 2.7 파일 입출력