我如何编写一个 for 循环以便它测试我的所有 5 个测试用例?

How can I write a for loop so that it tests all 5 of my test cases?

我应该根据目标财富计算出定期投资金额。

这是我的用户定义代码:

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 个给定的测试用例?

您可以使用 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):
    ...