在NetLogo中创建随机生成的值列表

时间:2018-12-05 14:13:16

标签: netlogo

我正在生成一个随机值,我希望将它们放入一个列表中,但是我的代码将4个列表而不是一个列表。我希望所有生成的值都在单个列表中,而不是在多个列表中。我是NetLogo的初学者。非常感谢您的帮助。检查我的代码并输出

代码:

ask demands
  [
    ;calculateDistanceMatrics
    set severityLevel random 3
    set slist (list severityLevel)
    print(slist)
  ]
  reset-ticks
end

输出:

[2]
[1]
[0]
[2]

1 个答案:

答案 0 :(得分:0)

请记住,ask构造是为每个demand代理运行的。这意味着每次调用set slist (list severitylevel)时,都会用一个具有单个条目(从slist产生)的新列表重写变量random 3

代替重写列表,您需要向列表中添加元素。因此,如果像slist这样将变量set slist []初始化为一个空列表,则可以一次将一个元素添加一次,方法是将它们放在最前面(使用fput)或将它们放在最后(使用lput)。例如,set slist fput random 3 slist