我在Python中使用genetic algorithm toolbox。代码:
sys
通常定义要生成的toolbox.register("attr_bool", random.randint, 0, 1)
和0
的随机数。问题是我正在寻找 1
和0
之间的随机数字。我使用1
,但它收到以下错误:
toolbox.register("attr_bool", random.uniform(0, 1))
答案 0 :(得分:2)
错误告诉你它必须能够调用第一个参数,这意味着它必须能够充当函数。 random.randint
是一个函数,但random.uniform(0, 1)
不是。它是一个浮点数。要解决此问题,您只需使用lambda
关键字创建匿名包装函数:
toolbox.register("attr_bool", lambda: random.uniform(0, 1))