我希望具有一定可变水平的特工以给定的可能性死亡。
这是我的代码:
ask turtles [
let choose precision(random-float 1) 2
if var >= 18 AND var <= 24 AND if choose < 0.1 [ die ]
if var >= 25 AND var <= 30 AND if choose >= 0.15 [ die ]
if var >= 31 AND var <= 40 AND if choose >= 0.2 [ die ]
if var >= 41 AND var <= 70 AND if choose >= 0.25 [ die ]
if var >= 71 AND var <= 86 AND if choose >= 0.15 [ die ]
if var > 86 [ die ]
]
但是,NetLogo似乎不喜欢堆叠条件,并给我以下错误代码:
AND expected 1 input on the right, a TRUE/FALSE
,同时选择代码的这一部分
var >= 18 AND var <= 24 AND
。
我该怎么办?
答案 0 :(得分:2)
在NetLogo中,对于条件if
或ifelse
有多个条件时,可以将它们与逻辑运算符(如and
和or
链接在一起,而无需重复有条件的原语-如此:
if var >= 18 AND var <= 24 AND if choose < 0.1 [ die ]
成为
if var >= 18 and var <= 24 and choose < 0.1 [ die ]