class Coupon:
    def __init__(self, name, ctype, value):
        self.name = name
        self.ctype = ctype
        self.value = value

class Order:
    def __init__(self, total_price):
        self.total_price = total_price
        self.coupons = []

    def add_coupon(self, coupon):
        same_type = [c for c in self.coupons if c.ctype == coupon.ctype]
        if same_type:
            print(f"중복 사용 불가 쿠폰입니다. 가장 유리한 {same_type[0].value if same_type[0].ctype=='비율' else same_type[0].value} 할인 적용되었습니다.")
            return
        self.coupons.append(coupon)

    def final_price(self):
        price = self.total_price
        for c in self.coupons:
            if c.ctype == '금액':
                price -= c.value
            elif c.ctype == '비율':
                price = int(price * (1 - c.value/100))
        return max(price, 0)

order = Order(100000)
coupon1 = Coupon("5,000원 할인권", "금액", 5000)
coupon2 = Coupon("10% 할인권", "비율", 10)

order.add_coupon(coupon1)
order.add_coupon(coupon2)

print(f"최종 결제액: {order.final_price()}원")

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: