-1
我有一个包含5个成员的数据库,其中包含一个收入属性。我想总结所有成员的收入。 为此,我想创建收入列表并添加它们。将元素添加到序言中的列表中
创造收入的名单,我已经写了追加谓语
append(Element, List, OutputList)
这增加了元素的列表和outputlist返回。
现在我想把每个成员的收入放在一个列表中,并添加列表中的元素。 但我无法将所有元素放入列表中。你能帮我创建这两个谓词吗? 这是我写的代码。
member(a,2).
member(b,1).
member(c,2).
member(d,3).
member(e,1).
append([],L,L).
append(Elem,L,X):- append([],[Elem|L],X).
% this add predicate is incorrect
add(L,X) :- member(_,Income),append(Income,L,L),X is L.
我想生成输出列表为[2,1,2,3,1],总结他们,并得到2 + 1 + 2 + 3 + 1 = 9
你想你'add'做什么?并且要注意'member'和'append'的名字。这些可以是内建谓词的名称。 – 2014-11-24 17:34:39