FC온라인 수수료 계산 로직 Python 코드
def calculate_final_amount(
original_amount,
pc_room=False,
top_class=False,
coupon_discount=0
):
"""
FCO 수수료를 계산하는 함수입니다.
Parameters:
original_amount: 거래 금액
pc_room: 피시방 여부 (Bool)
top_class: 탑클 여부 (Bool)
coupon_discount: 수수료 쿠폰 할인률 (Int)
Returns:
final_amout: 최종 계산값 (Int)
기본 수수료율은 60%이며, 피시방과 탑클 조합에 따라 할인된 수수료율(discount_rate)을 설정합니다.
수수료 쿠폰 할인은 10%당 4%를 더하는 방식으로 적용됩니다.
최종 수수료율에 원금을 곱하여 final_amount로 반환합니다.
기본 수수료율 : 60%
탑클 적용 수수료율 : 68%
pc방 적용 수수료율 : 72%
탑클, 피방 적용 수수료율 : 80%
수수료 쿠폰별 전체 금액 수수료율
- 50% : 20%
- 40% : 16%
- 30% : 12%
- 25% : 10%
- 20% : 8%
- 15% : 6%
- 10% : 4%
"""
# 기본 수수료율
base_rate = 0.6
# 피시방, 탑클 조건에 따른 수수료율 조정
if pc_room and top_class:
discount_rate = 0.8
elif pc_room:
discount_rate = 0.72
elif top_class:
discount_rate = 0.68
else:
discount_rate = base_rate
# 수수료 쿠폰 할인 적용
if coupon_discount > 0:
final_rate = discount_rate + (0.004 * coupon_discount)
else:
final_rate = discount_rate
# 최종 금액 계산 (소수점 버림)
final_amount = int(original_amount * final_rate)
# 발생한 수수료 (소수점 버림)
discount_amount = int((1 - final_rate) * original_amount)
print({'최종 금액': final_amount, '발생한 수수료': discount_amount})
# return final_amount
calculate_final_amount(1000, True, True, 50)
'python' 카테고리의 다른 글
Django ORM (0) | 2021.12.03 |
---|---|
Python 따옴표 어떻게 쓰면 좋을가? (0) | 2021.11.16 |
주소 API (Python 예시) (0) | 2021.10.01 |
댓글