我正在尝试运行此代码

def pv(PMT,i,n):
    for j in range(0,n):
        fv=sum(PMT*(1+i)**n)
        return fv


它应该加上p + p(1 + i)+ p(1 + i)** 2,但我得到


  TypeError:“ int”对象不可迭代


感谢您的帮助,我们将不胜感激。

最佳答案

sum内置函数采用iterable作为参数,但是表达式PMT*(1+i)**n解析为整数。

您可以使用generator-expression代替来解决您的问题:

def pv(PMT, i, n):
    fv = sum(PMT*(1+i)**n for j in range(0,n))

    return fv

关于python - 试图将投资金额相加,但继续说不可迭代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52498245/

10-12 15:17