def NPV(cashflows, discount_rate, years): npv = 0 for i in range(len(cashflows)): npv += cashflows[i] / (1 + discount_rate) ** (years[i] - years[0]) return npv怎么解决报错 int has no len
时间: 2024-02-13 22:04:02 浏览: 115
npv:净现值示例
这个错误通常是因为传递给函数的 cashflows 参数不是可迭代对象,而是整数类型。建议检查传递给函数的 cashflows 参数是否是一个列表或元组,因为只有这些类型才可以使用 len() 函数。如果 cashflows 参数是整数类型,可以将其转换为列表或元组,像这样:
```
cashflows = [cashflows]
```
这将把 cashflows 转换为一个包含一个元素的列表,使其成为可迭代对象,从而避免'int has no len'错误。
阅读全文