我正在努力与一个问题,计算最低每月固定支付所需的,以支付信用卡余额在12个月内。我所说的每月固定付款,是指每月不改变的一个数字,而是一个固定的数额,10的倍数,所有月份都是一样的,每个月都要付。(使用此付款方案,余额可能变为负数,这是可以的)
作为我的投入
original_balance = 3329
annualInterestRate = 0.2
由此,我计算出如下:
after_12_months_interest = original_balance
monthlyInterestRate = round(annualInterestRate/12.0,2)
monthly_payment = 10
total_paid = 0
for i in range(0,12):
after_12_months_interest = after_12_months_interest + (annualInterestRate/12.0)*after_12_months_interest
while total_paid < after_12_months_interest:
new_balance = 0
unpaid_balance = original_balance - monthly_payment
total_paid = 0
for i in range(0, 13):
total_paid = total_paid + monthly_payment
if total_paid < after_12_months_interest:
monthly_payment = monthly_payment + 10
print "Lowest Payment: ", monthly_payment
我的问题是,我的月供比我应该得到的多一点。在这种情况下,每月支付的回报是320而不是310。对于所有的用例,我都试过每月支付一次,比应该支付的稍微多一些。你知道吗
任何人都可以给我一个提示或一个关于我做错了什么的想法。谢谢
强制一行
它的作用是:
next
取迭代器的第一个元素。你知道吗count
尝试从0到无穷大的值(仅在每次调用next
时,并且仅在返回值之前)sum(payment*(1+monthly)**i for i in range(12))
这是付款的总和。每一笔付款都是值得的,加上所有节省下来的利息(你偿还的越早,你以后欠的利息就越少)original_balance*(1+annual)
确实是没有偿还的总价值。你知道吗备选方案
这一个通过
reduce
将原始余额乘以12来计算债务的组合剩余部分。你知道吗相关问题 更多 >
编程相关推荐