#34_단리/월복리 계산기 함수
deposit = int(input('예치금(원) : '))
period = int(input('기간(년) : '))
interestY = float(input('연 이율(%) : '))
def formatNumber(n):
return format(n, ',')
def simpleCal(deposit,period, interestY): #최초 원금에 대해서만 이자가 붙음
# 내 첫 시도 (error): return format(int(deposit * (1 + interestY*period)), ',')
> 단순히 곱하는 게 아니라 기간에 따라서 순차적으로 이자가 생기니 반복문을 써줘야 함.
totalMoney = 0 #원가
totalRateMoney = 0 #이자
for i in range(period): #기간동안 차곡차곡 쌓이는 이자 계산
totalRateMoney += deposit * (interestY * 0.01) #나는 % 계산을 위한 1/100을 곱해주지 않음
totalMoney = deposit + totalRateMoney
return int(totalMoney)
def compoundCal(deposit,period, interestY): #이자를 포함한 전체 금액에 이자가 붙음 (월복리)
# 내 첫 시도(error): return format(int(deposit * (1+interestY)**period), ',') #format 내부여서 소용없음~~
period *= 12 #월복리이기에 월로 환산
rpm = (interestY / 12) * 0.01
totalMoney = deposit
for i in range(period):
totalMoney = totalMoney + (totalMoney * rpm)
return int(totalMoney)
print('[단리 계산기]')
print('='*20)
print(f'예치금 : {deposit}')
print(f'예치기간 : {period}')
print(f'연 이율 : {interestY}')
print('-'*20)
print('3년 후 총 수령액 : {}'.format(formatNumber(simpleCal(deposit,period, interestY))))
print('='*20)
print('[복리 계산기]')
print('='*20)
print(f'예치금 : {deposit}')
print(f'예치기간 : {period}')
print(f'연 이율 : {interestY}')
print('-'*20)
print('3년 후 총 수령액 : {}'.format(formatNumber(compoundCal(deposit,period, interestY))))
print('='*20)
Output