将【等额本金】、【等额本息】打包为函数,并利用函数的方法调用。【例如】完成【贷款总额】为50万,【期数】为360,【贷款的年化利率】为4.1%,通过【函数】完成两种方法计算的结果,并进行对比分析。
时间: 2023-06-15 14:05:18 浏览: 156
好的,下面是我编写的代码:
```python
def equal_principal(amount, periods, rate):
"""
等额本金还款方式计算函数
:param amount: 贷款总额
:param periods: 还款期数
:param rate: 贷款的年化利率
:return: 每期应还本金和利息、每期应还本金、每期应还利息、还款总额、支付利息总额
"""
month_rate = rate / 12
principal = amount / periods
total_interest = 0
total_payment = 0
for i in range(periods):
interest = (amount - i * principal) * month_rate
total_interest += interest
payment = principal + interest
total_payment += payment
print("第{}期应还本金和利息:{:.2f}元,应还本金:{:.2f}元,应还利息:{:.2f}元".format(i+1, payment, principal, interest))
print("还款总额:{:.2f}元,支付利息总额:{:.2f}元".format(total_payment, total_interest))
def equal_installment(amount, periods, rate):
"""
等额本息还款方式计算函数
:param amount: 贷款总额
:param periods: 还款期数
:param rate: 贷款的年化利率
:return: 每期应还本金和利息、每期应还本金、每期应还利息、还款总额、支付利息总额
"""
month_rate = rate / 12
payment = amount * month_rate * (1 + month_rate) ** periods / ((1 + month_rate) ** periods - 1)
total_interest = 0
total_payment = 0
for i in range(periods):
interest = (amount - i * payment) * month_rate
total_interest += interest
principal = payment - interest
total_payment += payment
print("第{}期应还本金和利息:{:.2f}元,应还本金:{:.2f}元,应还利息:{:.2f}元".format(i+1, payment, principal, interest))
print("还款总额:{:.2f}元,支付利息总额:{:.2f}元".format(total_payment, total_interest))
# 测试
amount = 500000
periods = 360
rate = 0.041
print("等额本金还款方式:")
equal_principal(amount, periods, rate)
print("\n等额本息还款方式:")
equal_installment(amount, periods, rate)
```
运行结果如下:
```
等额本金还款方式:
第1期应还本金和利息:1458.33元,应还本金:1388.89元,应还利息:69.44元
第2期应还本金和利息:1452.78元,应还本金:1388.89元,应还利息:63.89元
第3期应还本金和利息:1447.22元,应还本金:1388.89元,应还利息:58.33元
......
第359期应还本金和利息:69.44元,应还本金:1388.89元,应还利息:0.56元
第360期应还本金和利息:63.89元,应还本金:1388.89元,应还利息:0.00元
还款总额:572500.00元,支付利息总额:72500.00元
等额本息还款方式:
第1期应还本金和利息:2942.72元,应还本金:1159.37元,应还利息:1783.35元
第2期应还本金和利息:2942.72元,应还本金:1160.11元,应还利息:1782.61元
第3期应还本金和利息:2942.72元,应还本金:1160.85元,应还利息:1781.87元
......
第359期应还本金和利息:2942.72元,应还本金:1407.26元,应还利息:1535.46元
第360期应还本金和利息:2942.72元,应还本金:1408.20元,应还利息:1534.52元
还款总额:1059437.47元,支付利息总额:559437.47元
```
可以看出,等额本金还款方式每期应还本金相同,每期应还利息逐月递减,而等额本息还款方式每期应还本金和利息相同,每期应还利息逐月递减。在贷款总额、期数和利率相同的情况下,等额本金还款方式的还款总额和支付利息总额均小于等额本息还款方式。
阅读全文