У меня есть список из 60 элементов, CashFlow. Я создаю новый список ListNPV, где каждый элемент является результатом уравнения, использующего каждый элемент исходного CashFlow. После добавления суммы в новый список я удаляю один элемент из исходного CashFlow.Почему моя петля в цикле печатает только половину длины списка?
Когда я запустил это, он завершает ровно половину списка, поэтому 30 значений. Я удвоил код, чтобы убедиться, и это приводит к 15/45 по сравнению с 30/30. Я хочу 0/60. Использование Canopy.
for payment in CashFlow:
NPV = 0
for i in range(len(CashFlow)):
NPV += CashFlow[i]/(1+MonthlyInterest)**i
NPV = round (NPV, 0)
ListNPV.append(NPV)
CashFlow.remove(payment)
print 'CashFlow = ', CashFlow
print 'ListNPV =', ListNPV
На каком языке Вы говорите? Он * выглядит * как Python, но ... Кроме того, почему вы считаете, что это лучший подход для этого? Вы мутируете тот же список, который вы повторяете, что во многих случаях является плохой практикой. – Makoto
Это Python, используя новую среду Canopy. Это было лучшее, что я мог придумать, оценил бы другие идеи. –