在给定目标财富的情况下,我应该计算出定期投资额。
这是我的用户定义代码:
def contribution_calculator(target_wealth, rate, duration, periodicity):
inv_amt = -npf.pmt(rate/100/periodicity, duration*periodicity, 0, target_wealth)
return inv_amt这是我的5个测试用例,我已经将它们放到了各自的列表中。
target_wealth = [1000000, 1000000, 3000000, 3000000, 2000000]
rate = [2.5, 2.5, 0.5, 4.0, 3.0]
duration = [25, 12, 25, 25, 10]
periodicity = [12, 1, 12, 12, 2]例如,测试用例1的值是1000000,2.5,25,12。
我如何编写一个for循环来测试所有5个给定的测试用例?
发布于 2021-08-14 03:15:43
您可以使用zip()和元组解包,如下所示:
for tw, r, d, p in zip(target_wealth, rate, duration, periodicity):
...也许可以重命名列表,这样您就可以使用完整的变量名:
for target_wealth, rate, duration, periodicity in zip(target_wealths, rates, durations, periodicities):
...PS:如果你想测试所有的组合,而不是相应的值,你可以使用itertools.product而不是zip
import itertools
for target_wealth, rate, duration, periodicity in itertools.product(target_wealths, rates, durations, periodicities):
...https://stackoverflow.com/questions/68780010
复制相似问题