Попытка суммировать вложенную сумму, но продолжает говорить, что не повторяется

1

Я пытаюсь запустить этот код

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' не повторяется

спасибо за вашу помощь, это будет действительно оценено.

Теги:
python-3.x

1 ответ

1

Сумма встроенная функция принимает итерацию в качестве аргумента, но ваше выражение PMT*(1+i)**n распадается на целое число.

Вы можете решить свою проблему, используя вместо этого выражение-генератор:

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

    return fv
  • 0
    большое спасибо это сработало
  • 0
    Пожалуйста. Не стесняйтесь пометить этот ответ как принятый, если он решит вашу проблему :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню