【问题标题】:Define new list and recursively add items in the list by appending in Prolog定义新列表并通过在 Prolog 中追加来递归地在列表中添加项目
【发布时间】:2012-04-30 20:17:38
【问题描述】:

我正在尝试对给定的列表项进行一些操作,并尝试声明一个新列表并向其中添加满足特定条件的项。我必须递归调用这个函数。所以,第一次列表为空,我想在其中插入一个项目。第二次,它将有一个元素,添加另一个元素会产生两个元素。第三次有两个元素,然后再添加一个元素,依此类推。

请帮助我如何在 prolog 中声明列表,并通过在递归函数调用中附加来添加元素。

【问题讨论】:

    标签: list prolog append new-operator add


    【解决方案1】:

    Prolog 中不需要声明术语;一旦你把它们写下来,它们就存在了。所以如果你写[],它是空列表。您提到的是两个列表之间的关系:一个列表,称为 List0,另一个列表,称为 List,即 List0 与附加元素。所以你有这样的关系

    list0_list(List0, List) :-
        ....
    

    如果 List 是 List0 并且包含您想要的元素,则它成立。您只需描述这种关系何时成立,并通过在规则正文中说明必要条件来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 2016-09-07
      • 1970-01-01
      • 2017-12-15
      • 1970-01-01
      • 2020-01-30
      • 2011-07-26
      相关资源
      最近更新 更多