Prolog:计算列表中的值

时间:2017-01-31 19:02:29

标签: list count prolog

我有数字属性的事实(带有指定数值的字母)。

l some_model.created_at

我需要在Prolog中编写一个程序来计算列表中的这些属性。相反,现在我只设法计算列表中的元素,而不是它们的属性。你能给我一些建议吗?那会对我有所帮助!

point(a, 1).

point(b, 3).

point(c, 3).

%etc for the rest of the alphabet

答案应该重现以下示例输入/输出:

count_points([ ], 0).

count_points([H|T], Count) :-
    count_points(T, Number),
    Count is Number + 1.

我写了14,但它取决于分配的号码。

1 个答案:

答案 0 :(得分:1)

我会选择(在线查看here):

point(u, 1).
point(r, 2).
point(i, 3).
point(e, 4).
point(l, 5).

count_points([], 0).
count_points([H|T], Count) :- count_points(T, N), point(H, P), Count is N + P.

% count_points([u, r, i, e, l], X).
% X = 15