减少列表大小并检查最后两个输入是否相等

时间:2016-02-29 09:55:44

标签: netlogo

我希望每只乌龟都有一份以前颜色的清单。然后我想将列表缩减为最后两个输入并检查两个输入是否相等。

在我已插入的go部分中:

set colormemory lput color colormemory

我希望我的列表只有[x,y],然后检查x = y。

我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:1)

基本上,你需要检查颜色记忆是否在列表中至少有2个元素,然后通过last和but-last函数提取最后两个元素。  然后通过从子列表中获取第一个和第二个项目来检查它们是否相等。

如果你的列表是[1 2 3],但是last会给你一个[1 2]的列表,而最后一个列表中的最后一个将给你2 ...我判断倒数第二个元素和最后一个元素元素一起来获取你的最后两个元素

ask turtles
[
    if length colormemory > 1 [
       let last-two sentence (last (but-last colormemory)) (last colormemory)
       if (item 0 last-two) = (item 1 last-two) [ show "they're equal"]
    ]

]