关于如何编写一个for循环给我所有优惠券的现值(即折扣值)的快速问题。我的代码如下所示:
我想要一个 for-loop 来执行该操作
c[0]*np.exp(-r*1)
c[1]*np.exp(-r*2)
c[2]*np.exp(-r*3)
,依此类推(数乘以 -r 始终是索引 +1)。我想要所有值的总和,例如使用x +=for循环迭代
c=[7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5]
r=0.071
PVx=0
for i in c:
print(i)
year = c.index(i)+1
print(year)
PV=c[i]*np.exp(-r*year)
PVx += PV
print(PVx)
不知何故,我收到了我的PV变量的错误代码“TypeError:列表索引必须是整数或切片,而不是浮点数”。从本质上讲,我希望将列表中的每个值乘以np.exp(-r*索引位置+1),然后得到总和:S
编辑:
我的新代码
import numpy as np
c=[7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5]
r=0.071
PVx=0
for i in c:
year = c.index(i)+1
print(year)
PV=i*np.exp(-r*year)
PVx += PV
print(PVx)
继续将年份打印为1(意味着c.index(i)产生0 + 1 = 1),而我希望它从1到7。我想我现在的问题。
潇湘沐
繁花不似锦
相关分类