用Python对结果列表求和

2024-05-08 22:27:35 发布

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

我有一个用Python运行的循环,但是我想对结果求和。这是我的密码:

R=0.05
Timestep = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Cash_flow = np.array([-10000, 300, 1000, 2500, 6000, 6100, 6250, 6250, 6300, 6300, 6200])

for i in Timestep:
    Present_value = Cash_flow[i]*(1+R)**-(Timestep[i])
    print(Present_value)

结果如下:

    -10000.0
285.714285714
907.029478458
2159.59399633
4936.21484875
4779.50961546
4663.84622898
4441.75831331
4264.08798078
4061.03617217
3806.26217195

我想对这些值求和,有简单的方法吗?你知道吗

干杯!你知道吗


Tags: 方法in密码forvaluenpcashflow
2条回答

您只需在for循环之前添加my_sum = 0,在设置预设值后在for循环内部添加my_sum += Preset_value。你知道吗

在程序的末尾(for循环之外),可以使用print(my_sum)打印它

避免numpy的循环和使用向量功能

sum_of_values = np.sum(Cash_flow[:]*(1+R)**-(Timestep[:]))
print(sum_of_values)

sum也可以代替numpy.sum

结果:

24305.0530919

产生与“经典”方法相同的结果,只是速度更快且没有循环:

sum_of_values=0
for i in Timestep:
    sum_of_values += Cash_flow[i]*(1+R)**-(Timestep[i])

相关问题 更多 >