建立一个函数储蓄计算器(PMT,n,i)`计算你的客户在退休后的储蓄

2024-09-18 22:12:15 发布

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

我在做一个项目,如果我必须写一个代码来计算客户退休后的储蓄:

def savings_calculator(PMT, n, i):
    FV = 0
    for j in range(n):
        interest = FV * i
        FV = FV + interest
        FV = FV + PMT
        FV = round(FV,2)
    return FV

问题是一旦我把FV四舍五入,我有时会得到一个错误的值

下面的测试用例应该返回true:

储蓄计算器(20000,15,0.1)==635449.63真

savings_calculator(10000,20,0.1)==572749.99此函数返回false,因为四舍五入返回错误的值


Tags: 项目代码infor客户def错误range
1条回答
网友
1楼 · 发布于 2024-09-18 22:12:15

如果不在每次迭代中取整,而只在最后进行,则应该得到正确的答案:

def savings_calculator(PMT, n, i):
    FV = 0 
    for j in range(n):
        interest = FV * i 
        FV = FV + interest 
        FV = FV + PMT

    FV = round(FV,2)

    return FV

舍入本质上通过降低精度引入了一个小误差。在许多迭代中,这个错误加起来,所以应该只在末尾进行舍入。在

相关问题 更多 >