【发布时间】:2015-03-19 04:20:18
【问题描述】:
我开始学习编码并从 Python 开始。在我的 Python 课程中,我遇到了以下问题:
编写一个程序来计算一年后的信用卡余额,如果 一个人只需支付信贷要求的最低每月付款 卡公司每个月。
以下变量包含如下所述的值:
balance - 信用卡上的未结余额
annualInterestRate - 年利率小数
monthlyPaymentRate - 以小数表示的最低月支付率
对于每个月,计算每月付款的报表和 余额,并打印到屏幕上的格式:
月:1
最低月供:96.0
余额:4784.0
(这部分我没问题)
最后打印出当年支付的总金额和年末余额,格式如下:
支付总额:96.0 余额:4784.0
(这是我经过数小时的尝试和搜索后无法解决的总支付部分)
这就是我需要做的:将所有最低每月付款的结果加在一起,以获得已支付的总额。
这是我的代码:
def creditPayment(balance, annuelInterestRate, monthlyPaymentRate):
for month in range(1, 13):
monthlyInterestRate = annuelInterestRate/ 12.0
minimumMonthlyPayment = monthlyPaymentRate * balance
monthlyUnpaidBalance = balance - minimumMonthlyPayment
balance = monthlyUnpaidBalance + (monthlyInterestRate * monthlyUnpaidBalance)
totalPaid = sum((minimumMonthlyPayment) for _ in range(0, 13))
print 'Month: ', month
print 'Minimum monthly payment: ', round(minimumMonthlyPayment, 2)
print 'Remaining balance: ', round(balance, 2)
print ' '
print 'Total paid: ', round(totalPaid, 2)
print 'Remaining balance: ', round(balance, 2)
print creditPayment(4213, 0.2, 0.04)
一切正常,除了总支付额仅是 minimumMonthlyPayment 的第一个值的 12 倍。我不能让它变得更好。
【问题讨论】:
标签: python python-2.7