Python如何计算这个公式?

2024-04-19 19:57:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究这个问题,我知道它是正确的,但我不知道公式是如何工作的。你知道吗

    balance: int = 484
    monthlyPayRate: float = 0.04
    annualInterestRate: float = .2
    for i in range(12):
        balance = balance - (balance * monthlyPaymentRate) +\
        ((balance - (balance * monthlyPaymentRate)) * \
        (annualInterestRate/12))
    print("Remaining balance:", round(balance,2))

我只是试着通过范围(1),我知道正确的答案是472.38。你知道吗

我是这样计算的: 484–(484*0.04)=464.64美元(这是付款后但利息前的余额) 464*(.2/12)=7.42美元(我们取剩余余额464.64 x利率0.016) 464.64+7.424=472美元(我们将剩余余额的利息相加以获得新的余额)

当我尝试将这些数字插入python公式并手工操作时,我无法理解python是如何让它工作的。我希望有人能给我展示一下Python使用公式的步骤?你知道吗


Tags: inforrangefloat余额公式intprint
2条回答

为清楚起见:

balance = 484
monthlyPaymentRate = 0.04
annualInterestRate = .2
for i in range(12):
    paidoff = balance * monthlyPaymentRate
    newinterest = (balance - paidoff) * annualInterestRate/12
    balance = balance - paidoff + newinterest
    print("Balance after", i+1, "months", round(balance,2));

print("Remaining balance:", round(balance,2))

提供:

Balance after 1 months 472.38
Balance after 2 months 461.05
Balance after 3 months 449.98
Balance after 4 months 439.18
Balance after 5 months 428.64
Balance after 6 months 418.35
Balance after 7 months 408.31
Balance after 8 months 398.51
Balance after 9 months 388.95
Balance after 10 months 379.62
Balance after 11 months 370.5
Balance after 12 months 361.61

Remaining balance: 361.61

拆分计算允许这样的事情:

>>> balance = 484
>>> totalpaid=0
>>> totalinterest=0
>>> monthlyPaymentRate = 0.04
>>> annualInterestRate = .2
>>> for i in range(12):
...     paidoff = balance * monthlyPaymentRate
...     newinterest = (balance - paidoff) * annualInterestRate/12
...     balance = balance - paidoff + newinterest
...     totalpaid = totalpaid + paidoff
...     totalinterest = totalinterest + newinterest
...
>>> print("Remaining balance:", round(balance,2))
Remaining balance: 361.61
>>> print("Total amount paid off:", round(totalpaid,2))
Total amount paid off: 203.98
>>> print("Total interest accrued:", round(totalinterest,2))
Total interest accrued: 81.59

我可以想象它是这样的:

balance = 484 - (484 * 0.04) + ((484- (484 *0.04)) * (0.2/12))

基本上就是这样写的,结果是472.38。你知道吗

但是它用472.38替换变量balancee再次进行计算,12次,总是用新结果替换变量,最后返回361.61。你知道吗

这些计算在软件和手工上都对我有用。你知道吗

相关问题 更多 >