我正在解决某个时间段的现金流的敏感度,为此,我想用我的代码:
while count < (len(netcf)):
cpv = float(netcf[count]/((1+MARR)**(time[count])))
sum = round((sum+cpv),2)
count=count+1
print "Net Present Value = $", sum这计算了现金流w/o敏感度分析,为了简单起见,我想要做的是取一定的时间段,比如说时间0,然后乘以值乘以(1+x)并求解"x“的值,这样当您将新的值添加到其他循环值的和中时,而不是以前的值(w/o 1+x),它会使现值尽可能接近于0。
到目前为止,我已经尝试使用"while True“循环来求解x,但是我还没有成功。我也遇到了问题,使循环无法计算值w/o (1+x),并且仅在将值与(1+x)相加时才使用该值。在这一点上的任何建议都将是有帮助的,因为我从来没有解决过python中的未知问题。
发布于 2013-11-08 08:15:11
如果你有一个和,你想知道要把哪个值加到它上才能得到零,那就是-sum。现在,如果您想要(1 + x) == -sum的x的值,那么解决方案就是x = -sum - 1。
编辑:我感觉这并不是你想要解决的问题……
EDIT2:关于停止循环然后进行第二次计算,只需使用break语句,例如:
stop_at = random.choice(range(len(netcf)))
while count < (len(netcf)):
cpv = float(netcf[count]/((1+MARR)**(time[count])))
sum = round((sum+cpv),2)
if count == stop_at:
break
count=count+1
print "Net Present Value = $", sum
# now do the second calculation ...https://stackoverflow.com/questions/19849007
复制相似问题