描述
购买房屋或大宗家电时,很多时候可以分期付款,还款方式分为等额本息和等额本金两种:
等额本息(Average Capital Plus Interest:ACPI)还款公式:
每月还款额=贷款本金*月利率*(1+月利率)**总还款月数/((1+月利率)**总还款月数-1)
等额本金(Average Capital:AC)还款公式:
每月还款额=贷款本金/总还款月数+(贷款本金-累计已还款本金)*月利率
设计一个程序计算分期付款时每一期的应还款额,还款方式输入错误时,输出“还款方式输入错误”。
输入格式
4行输入:
第1行输入一个浮点数,表示贷款本金
第2行输入一个整数,表示分期月数
第3行输入一个字符串,表示还款方式,限定只能输入"ACPI"或"AC",分别表示等额本息和等额本金
第4行输入一个浮点数,表示月利率
输出格式
输出每月还款额,等额本金方式时,输出的数字间用逗号分隔(用round()函数保留2位小数)
还款方式输入错误时,输出“还款方式输入错误”
例如:
输入 | 结果 |
---|---|
6800 12 AC 0.006 | [607.47, 604.07, 600.67, 597.27, 593.87, 590.47, 587.07, 583.67, 580.27, 576.87, 573.47, 570.07] |
12800 12 AAC 0.008 | 还款方式输入错误 |
按照题目所给公式分情况讨论即可
seed_money = eval(input())
need_month = eval(input())
s = input()
interest_rate = eval(input())
list = []
if s == 'ACPI' or s == 'AC' :
if s == 'AC':
all_money = 0
for i in range(need_month):
month_money = seed_money / need_month + (seed_money - all_money) * interest_rate
all_money += seed_money/need_month
month_money = round(month_money,2)
list.append(month_money)
print(list)
else :
month_money = seed_money * interest_rate * (1+interest_rate) ** need_month \
/ ((1+interest_rate)**need_month-1)
month_money = round(month_money,2)
print(month_money)
else :
print("还款方式输入错误")
输入 | 期望的结果 | 得到的结果 | ||
---|---|---|---|---|
6800 12 AC 0.006 | [607.47, 604.07, 600.67, 597.27, 593.87, 590.47, 587.07, 583.67, 580.27, 576.87, 573.47, 570.07] | [607.47, 604.07, 600.67, 597.27, 593.87, 590.47, 587.07, 583.67, 580.27, 576.87, 573.47, 570.07] | ||
12800 12 AAC 0.008 | 还款方式输入错误 | 还款方式输入错误 | ||
96000 3 ACPI 0.008 | 32513.36 | 32513.36 |