NetLogo - 有一定的可能性死亡
NetLogo - dying with a certain likelihood
我想要具有特定可变级别的特工以给定的可能性死亡。
这是我的代码:
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
.
我做错了什么?
当你在 NetLogo 中有多个条件像 if
或 ifelse
时,你可以 link 它们与逻辑运算符一起 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 ]
我想要具有特定可变级别的特工以给定的可能性死亡。
这是我的代码:
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
.
我做错了什么?
当你在 NetLogo 中有多个条件像 if
或 ifelse
时,你可以 link 它们与逻辑运算符一起 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 ]