学PMP的时候需要计算NPV,于是就写了一个NPV计算器。
其实numpy这样的库里肯定有,不过自己动手么,丰衣足食。
# -*- coding:utf:8 -*- cost = float(input('请输入初始成本: ')) rate = float(input('请输入利率,以小数形式,如0.1,0.12: ')) cash = input('请输入现金流,以逗号隔开:') cash_flow = [every_cash for every_cash in cash.split(',')] # 年现金流解析出列表 years = len(cash_flow) # 计算出总年数 npv_list = [] for i, j in zip(range(1, years + 1), cash_flow): npv_list.append(1/(pow((1 + rate), i)) * float(int(j))) # 年现金流*1/(1+利率)的年次方的和 npv = sum(npv_list) - cost # 减去初始成本,就是npv了 print('npv is : %.2f.' % npv)