반응형
주석으로 작성한 시나리오에 맞게 상품과 할인 상품 클래스를 정의하시오.
Product.py
#Product.py
#상품
# 상품명, 제조사,가격, 보유 개수, 판매량
# 생성할 때 상품명과 제조사, 가격을 입력받는다.
# 입고 기능에서는 입고 개수를 입력 인자로 받는다.
# 판매 기능에서는 출고 개수를 입력 인자로 받는다.
# 현황 보기에서는 상품명, 제조사, 가격, 보유 개수, 판매량, 판매 총액을 출력한다.
SaleProduct.py
#SaleProduct.py
#할인 상품:상품에서 파생
# 할인률(생성 시 전달)을 멤버로 갖는다.
# 할인현황보기를 제공한다.
# - 상품의 현황보기 외에 할인률을 고려하여 출력한다.
Main.py
from SaleProduct import SaleProduct
from Product import Product
sp = SaleProduct("롤TV","모르지",1000000000,0.2)
sp.ViewState()
sp.SaleViewState()
sp.InProduct(10)
sp.OutProduct(3)
sp.ViewState()
sp.SaleViewState()
sp.OutProduct(10)
sp.ViewState()
sp.SaleViewState()
sp.InProduct(5)
sp.OutProduct(2)
sp.ViewState()
sp.SaleViewState()
p = Product("롤TV","모르지",1000000000)
p.ViewState()
p.InProduct(10)
p.OutProduct(3)
p.ViewState()
p.OutProduct(10)
p.ViewState()
p.InProduct(5)
p.OutProduct(2)
p.ViewState()
실습 예
Product.py
#Product.py
#상품
# 상품명, 제조사,가격, 보유 개수, 판매량
# 생성할 때 상품명과 제조사, 가격을 입력받는다.
# 입고 기능에서는 입고 개수를 입력 인자로 받는다.
# 판매 기능에서는 출고 개수를 입력 인자로 받는다.
# 현황 보기에서는 상품명, 제조사, 가격, 보유 개수, 판매량, 판매 총액을 출력한다.
class Product:
#생성자(초기화) 메서드
def __init__(self,name,company,price):
self.name = name
self.company = company
self.price = price
self.hcount = 0
self.scount = 0
def ViewState(self):
print("상품명:",self.name)
print(" 제조사:",self.company)
print(" 가격:",self.price)
print(" 보유 개수:",self.hcount)
print(" 판매량:",self.scount)
print(" 판매 총액:",self.scount*self.price)
def InProduct(self,cnt):
self.hcount += cnt
def OutProduct(self,cnt):
if(self.hcount<cnt):
cnt = self.hcount
self.hcount -=cnt
self.scount += cnt
return cnt
SaleProduct.py
#SaleProduct.py
#할인 상품:상품에서 파생
# 할인률(생성 시 전달)을 멤버로 갖는다.
# 할인현황보기를 제공한다.
# - 상품의 현황보기 외에 할인률을 고려하여 출력한다.
from Product import Product
class SaleProduct(Product):
def __init__(self,name,company,price,salep):
Product.__init__(self,name,company,price)
self.salep = salep
def SaleViewState(self):
self.ViewState()
print(" 할인율:",self.salep)
print("실제 판매 가격:",self.price*(1-self.salep))
print("실제 판매 총액:",self.price*self.scount*(1-self.salep))
Main.py
from SaleProduct import SaleProduct
from Product import Product
sp = SaleProduct("롤TV","모르지",1000000000,0.2)
sp.ViewState()
sp.SaleViewState()
sp.InProduct(10)
sp.OutProduct(3)
sp.ViewState()
sp.SaleViewState()
sp.OutProduct(10)
sp.ViewState()
sp.SaleViewState()
sp.InProduct(5)
sp.OutProduct(2)
sp.ViewState()
sp.SaleViewState()
p = Product("롤TV","모르지",1000000000)
p.ViewState()
p.InProduct(10)
p.OutProduct(3)
p.ViewState()
p.OutProduct(10)
p.ViewState()
p.InProduct(5)
p.OutProduct(2)
p.ViewState()
반응형
'언어 자료구조 알고리즘 > 프로그래밍 실습' 카테고리의 다른 글
[python] 상품 조회 응용 - MSSQL, QT 사용 (0) | 2020.11.05 |
---|---|
[python] QT, MSSQL 활용 - 상품 등록하기 (0) | 2020.11.05 |
[python] 쇼핑몰 구현 - MSSQL이용한 콘솔 응용 (0) | 2020.11.04 |
[python] OOP 실습 - 커뮤니트 시뮬레이션 만들기 (0) | 2020.10.30 |
[python] 상속 실습 - 커뮤니티(게시글, 비밀게시글) (0) | 2020.10.30 |
[python] 상속 개요 - 책과 프로그래밍 책 (0) | 2020.10.30 |
[python] 상속 실습 - 음악가, 피아니스트 (0) | 2020.10.30 |
[python] 캡슐화 실습 - 음악가 정의하기 (0) | 2020.10.29 |
[python] 캡슐화 실습 - 직사각형 클래스 정의하기 (0) | 2020.10.29 |
[python] 캡슐화 실습 - 생성자(초기화) 정의하기 (0) | 2020.10.29 |