Python

class 포함관계 예제

코딩탕탕 2022. 10. 22. 17:04

 

예제 1) 커피 자판기 프로그램 만들기

선생님 작성 코드

# 클래스의 포함관계 연습문제 

class CoinIn:
    def calc(self, cupCount):
        re = ""
        
        if self.coin < 200:
            re = "요금이 부족하네요"
        elif cupCount * 200 > self.coin:
            re = "요금이 부족하네요"
        else:
            self.change = self.coin - (200 * cupCount)  # 잔돈 계산
            re = "커피 {}잔과 잔돈 {}원".format(cupCount, self.change)

        return re

class Machine():
    cupCount = 1  # 현재 코드에서는 의미 없음

    def __init__(self):
        self.coinIn = CoinIn()  # 포함

    def showData(self):
        self.coinIn.coin = int(input("동전을 입력하세요 :"))
        self.cupCount = int(input("몇 잔을 원하세요 :"))

        print(self.coinIn.calc(self.cupCount))


if __name__ == '__main__':
    Machine().showData()


<console>
동전을 입력하세요 :200
몇 잔을 원하세요 :1
커피 1잔과 잔돈 0원

동전을 입력하세요 :500
몇 잔을 원하세요 :2
커피 2잔과 잔돈 100원

 

방법 1 코드

# coffe machine
    
class Machine:

    def showData(self, cupCount, change):
        print('커피 {0}잔과 잔돈 {1}원' .format(cupCount, change))
    
class CoinIn:
    price = 200
    
    def culc(self):
        coin = int(input('동전을 입력하세요:'))
        if coin >= 200:
            cupCount = int(input('몇잔을 원하시나요:'))
            if coin >= self.price*cupCount:
                change = coin - self.price*cupCount
                Machine.showData(self, cupCount, change)
            else:
                print('요금이 부족합니다')
        else:
            print('요금이 부족합니다')
        
if __name__ == '__main__':
    CoinIn().culc()