【问题标题】:adding element to list multiple times prolog将元素添加到列表中多次序言
【发布时间】:2017-04-12 16:24:24
【问题描述】:

所以问题来了:写一个谓词

triple(Xs,Ys) Ys 中的每个元素都是Xs 的成员,并且在Ys 中连续出现三次

例子:

?- triple([a,b,c], L).
L = [a,a,a,b,b,b,c,c,c] 


add(X,Xs,[X|Xs]).

triple(Xs,Ys):- add(X,Xs,[X|Ys])

这会将项目附加到列表中,例如 ?- triple([1,2,3],L). L = [3, 4, 5] .

如何让它追加多次我尝试重新输入该行但无济于事或输入逗号并再次重新输入,我什至尝试了列表连接,但它只会无限次添加相同的列表。

【问题讨论】:

    标签: list prolog append


    【解决方案1】:

    一个简单的模式可能如下

    triple([], []).
    triple([H | Ti], [H, H, H | To]) :-
      triple(Ti, To).
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-19
      • 2018-08-31
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      相关资源
      最近更新 更多