运算符 > 并将其与 NetLogo 中的数字和字符串组合

Operator > and combining it with number and a string in NetLogo

我需要一点帮助。如果海龟的地块 > 5,我希望海龟以 50% 的概率合作。 我写的是

ifelse  random 1 = 0 and land > 5
                         [set cooperate? true]
                         [set cooperate? false]

但它给出了错误; > 运算符只能用于两个数字、两个字符串或相同类型的两个代理,但不能用于字符串和数字。 如何纠正?

谢谢

没有足够的信息来诊断问题。此代码是否位于 ask turtles 块中,变量 'land' 作为 turtles-own 属性?此外,您可能希望打印出 'land' 的一些值,以确保其中确实包含数字。

从下面的工作示例中可以看出,您提供的代码没有错误。

turtles-own [ land cooperate? ]

to testme
  clear-all
  create-turtles 10
  [ set land random 10
    ifelse  random 1 = 0 and land > 5
    [ set cooperate? true ]
    [ set cooperate? false ]
  ]
  type "Cooperating: " print count turtles with [cooperate?]
  type "Not cooperating: " print count turtles with [not cooperate?]
end