Netlogo:结合类似的海龟和组合对创建

时间:2017-02-21 12:48:02

标签: list netlogo

两个问题: 1.如何将具有某些特定变量的海龟数量分组,这些变量符合我指定的标准。例如,创建Id1为" 1"的海龟。 期望的输出将是包含相似值的海龟数量列表。 2.如果我得到了包含类似ID-s的海龟列表,我想得到所有可用海龟的组合。在python中(因为它只是我感觉很熟悉的语言)我会使用:

turtle_list = ["1","2","4","5","6","7"]

def create_pairs(source):
        result = []
        for p1 in range(len(source)):
                for p2 in range(p1+1,len(source)):
                        result.append([source[p1],source[p2]])
        return result

pairings = create_pairs(turtle_list)
print("%d pairings" % len(pairings))
for pair in pairings:
        print(pair)

1 个答案:

答案 0 :(得分:0)

这是一种简单的方法。为了提高效率,如果您真的需要它,请实现您在上面描述的配对算法。

turtles-own [id]

to setup
  ca
  let _ids range 5
  crt 100 [set id one-of _ids]
end

to pairup [_id]
  let _ts (turtles with [id = _id])
  ask _ts [
    create-links-with other _ts
  ]
end

to test
  setup
  pairup 0
end