如何用一个初始值递归地将参数输入到这个函数中?

2024-05-23 18:43:45 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个函数,它接收一个数组并输出一个数组,数组的值不同(我正在尝试遗传编程育种函数)。你知道吗

所以我的问题如下:我有一个名为evolve(population)的主函数,它接收一个数组并输出一个新的数组。我想继续在连续的总体上调用这个函数,但是,我不太确定如何调用?你知道吗

所以我们有一个初始数组x,我们把它传递到evolve(x),它输出一个新的数组y,现在我想把evolve(y)传递到我的函数中,以此类推z次(在for循环中)。这能做到吗?你知道吗


Tags: 函数for编程数组population总体evolve
2条回答

这项工作应该做得很好

population = [1, 2, 3, 4]  # any list
z = 10  # evolve 10 times

for i in range(z):
    population = evolve(population)

我认为您应该使用递归回调函数

def evolve(population, amount_of_time_you_want_add):
    print(population)

    if amount_of_time_you_want_add > 0:
        # your operation before callback function
        population.append("x")
        return evolve(population, amount_of_time_you_want_add-1)


evolve([1,2,3,4], 5)

相关问题 更多 >