Python 如何在遗传算法工具箱Deap中生成0到1之间的随机数

Python 如何在遗传算法工具箱Deap中生成0到1之间的随机数,python,random,genetic-algorithm,Python,Random,Genetic Algorithm,我正在使用Python。守则: toolbox.register(“attr_bool”,random.randint,0,1)通常定义要生成的0和1的随机数。问题是我在寻找介于0和1之间的随机数。我使用了toolbox.register(“attr_bool”,random.uniform(0,1)),但它会导致以下错误: TypeError:第一个参数必须是可调用的错误告诉您它必须能够调用第一个参数,这意味着它必须能够充当函数random.randint是一个函数,但random.unifo

我正在使用Python。守则:

toolbox.register(“attr_bool”,random.randint,0,1)
通常定义要生成的
0
1
的随机数。问题是我在寻找介于
0
1
之间的随机数。我使用了
toolbox.register(“attr_bool”,random.uniform(0,1))
,但它会导致以下错误:
TypeError:第一个参数必须是可调用的

错误告诉您它必须能够调用第一个参数,这意味着它必须能够充当函数
random.randint
是一个函数,但
random.uniform(0,1)
不是。这是一个浮点数。要解决此问题,只需使用
lambda
关键字创建一个匿名包装函数:

toolbox.register("attr_bool", lambda: random.uniform(0, 1))

可能重复第二个答案,而不是第一个括号。将它们与示例的括号进行比较。
TypeError:integer参数应为,get float
。可能我们应该更改:
toolbox.register(“个人”,tools.initRepeat,creator.individual,toolbox.attr\u bool,100)
toolbox.register(“填充”,tools.initRepeat,list,toolbox.individual)
如果需要整数,为什么要给它一个浮点数?因为参数应该在0和1之间。最佳值也在该范围内。