↓ Python으로 원리금균등상환 계산기 구현하기 ↓
2021/02/04 - [Python/coding] - [python programming] 원리금균등상환 계산기 구현/ 핸드폰 할부 이자 계산
원리금균등상환 계산기 Result
위 사진을 보면 마지막 납입 회차의 월 청구액이 다른 것을 확인할 수 있다.
원리금균등상환 방식의 경우 월 청구액이 같아야 하는데,
할부 개월에 맞게 잔여할부금이 딱 떨어지지 않는 경우가 있어
이를 해결하기 위해 고안한 방법의 결과이다.
수정 전 코드
원리금균등상환 방식은 월 청구액이 일정하나,
세부적으로 볼 경우 월별 할부원금과 할부이자는 다른 것이 특징이다.
하지만 월불입금 공식을 이용하여 월 청구액을 계산하고
이를 기반으로 월 할부원금과 할부이자를 구했을 때,
잔여 할부금이 0원으로 딱 떨어지지 않아 다음과 같은 결과가 나오기도 한다.
Case 1:
위 사진과 같이 할부 개월이 24개월임에도 불구하고
24회 납입 차에 잔여 할부금이 남아있어 25회 차 까지 가는 경우가 있고,
Case 2:
23회 차 납입 후 잔여 할부금이 그다음 달의 할부원금보다 작아
24회 차의 잔여할부금이 마이너스가 되는 경우가 있다.
다시 말해, 계산이 정확히 나누어 떨어지지 않는 두 가지 경우는
1. 마지막 납입회차 때 잔여 할부금이 마이너스인 경우
2. 마지막 납입회차 때 잔여 할부금이 남아있는 경우
수정 후 코드
두 경우 모두 마지막 납입 회차의 잔여 할부금이 대게 ±10 이내이고,
더 차이가 나더라도 그 격차가 크진 않았다.
때문에 다음과 같이 코드를 수정하였다.
납입회차(month)가 할부 개월(months)과 같을 때, 즉, 납입회차가 마지막이면
if month == months:
월 할부원금(fee_month)은 잔여할부금 전체(fee_left)가 되도록 한다.
fee_month = fee_left
월 할부원금이 잔여 할부금에 따라 높아지거나 낮아지면 월 청구금도 달라지므로,
월 청구금(bill_month)도 변경된 월 할부원금(fee_month)에 이자(interest)를 더한 값으로 바꾸어 준다.
bill_month = fee_month + interes
그 외 납입회차에는 그대로 월 할부원금이 (월 청구금 - 이자)로 계산되도록 한다.
else:
fee_month = bill_month - interest
'Python (Data) > coding' 카테고리의 다른 글
[python programming] 원리금균등상환 계산기 구현/ 핸드폰 할부 이자 계산 (1) | 2021.02.04 |
---|
댓글