我正在使用genetic algorithm toolbox在Python中。代码:
toolbox.register("attr_bool", random.randint, 0, 1)
通常定义随机数 0
和1
待生成。问题是我正在寻找之间0
之间的随机数和1
。我用过toolbox.register("attr_bool", random.uniform(0, 1))
,但出现以下错误:
TypeError: the first argument must be callable
最佳答案
该错误告诉您它必须能够调用第一个参数,这意味着它必须能够充当函数。 random.randint
是一个函数,但 random.uniform(0, 1)
不是。它是一个 float 。要解决此问题,您可以简单地使用 lambda
关键字创建一个匿名包装函数:
toolbox.register("attr_bool", lambda: random.uniform(0, 1))
关于python - 如何在遗传算法工具箱Deap中生成0到1之间的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216660/