我试图找出如何以每日复利的利息减去每月的贷款付款。现在我觉得我已经获得了正确的代码,可以在10年期贷款中每天减去付款金额:
P = 20000
r = .068
t = 10
n = 365
payment = 200
for payment_number in xrange(1, n*t):
daily_interest = P * (1+(r/n)) - P
P = (P + daily_interest) - payment
print P
如果可能的话,我仍然喜欢打印每日余额,而是每个月而不是每天减去付款。最初我虽然可能使用嵌套for循环与xrange(1,30),但我不确定它是否正常工作。提前感谢您的建议!
答案 0 :(得分:0)
为此目的插入if语句怎么样?
P = P-200 if payment_number%30 == 0 else P
如果payment_number
变量是30的倍数,则会运行。
答案 1 :(得分:0)
"每月"是一个复杂的想法。要完全处理月份,您需要使用日期时间模块。
from datetime import date, timedelta
date_started = date(2000,1,1)
所以说你距离开始日期是123天,我们需要计算那个日期:
date = date_started + timedelta(days=123)
>>> date
datetime.date(2000, 5, 3)
所以现在我们知道需要计算该日期和该月的第一天之间的天数,dateutil模块可以帮助我们(你必须下载它)。
from dateutil.relativedata import relativedelta
firstofmonth_date = date_started + relativedelta(months=4)
tddays = firstofmonth_date - date_started
days = tddays.days
然后只是把#34;天"进入你已经拥有的功能,你应该是好的。我留给你的唯一部分是弄清楚你们约会之间已经过了多少个月。