---세원이형 답변 보고 수정---
class Movie_Card(Card):
def consume(self, num, place =''): # place = '' 한건 place에 아무것도 안 넣은 경우 오류나니까 오류처리용. 하단에 적음
if place in ('영화관','주유소'):
num *= 0.8
elif place == '스타벅스':
num *= 0.9
else:
pass
Card.consume(self,num,place) # 왠지 될거같아서 이거저거 굴려보다가 작동함
m_card1 = Movie_Card()
m_card1.charge(100000)
m_card1.consume(12000,'영화관')
m_card1.consume(30000,'주유소')
m_card1.consume(6000,'스타벅스')
m_card1.consume(2000,'편의점')
------------------------------------------
부모클래스 Card()에 consume부분에 place를 추가했습니다.
def consume(self, num, place):
if self.cash >= num: # 잔액이 소비하는 돈보다 커야지만 쓸 수있게
self.cash -= num
print (f'{place}에서 {int(num)}원이 사용되었습니다.') # 준혁이랑 얘기하다 기억난 포매팅 f' {변수}
.
.
.
---------------------------------------------------------------------
- 질문들어와서 에러처리 적용(place에 아무것도 안 적은 경우)
# '40. 함수 인자 이해하기' 에서 배운 내용. 기본값 써주기
class Movie_Card(Card):
def consume(self, num, place =''): # 장소에 에러처리 추가함
- 부모 부분 consume에서 출력부분 수정해줌
def consume(self, num, place):
if self.cash >= num: # 잔액이 소비하는 돈보다 커야지만 쓸 수있게
self.cash -= num
# if를 넣는 이유는 place에 아무것도 안 적을 경우 '에서 12000원이 사용되었습니다'로 나오니까 '에서'를 빼려고
if place != '':
print (f'{place}에서 {int(num)}원이 사용되었습니다.')
else:
print (f'{int(num)}원이 사용되었습니다.')
else:
print ('잔액이 부족합니다')
`````````````````````````````````