相关疑难解决方法(0)

在prolog中从列表中过滤掉大量数字

我想编写一个函数,通过删除小于或等于特定数字的所有内容来过滤数字列表.该功能将采用两个参数:数字列表和要过滤的数字.该函数应返回一个列表,其中所有数字都大于过滤器编号.

有时这样:

filter_num_list(L1,N,L2) :- ...

test_filter_num_list :- filter_num_list([1,2,3,4,5,6,7,8,9],5,[5,6,7,8,9]).
Run Code Online (Sandbox Code Playgroud)

prolog

4
推荐指数
2
解决办法
905
查看次数

Prolog - 计算列表中的重复次数

我正在尝试查看列表并计算给定单词出现的次数.到目前为止我有这个:

count_repetitions([_], [], 0).
count_repetitions([Word], [Word|Tail], Count):-
   count_repetitions([Word], Tail, X), 
   Count is X + 1.
count_repetitions([Word], [Z|Tail], Count):-
   Word \= Z, 
   count_repetitions([Word], Tail, Count).
Run Code Online (Sandbox Code Playgroud)

所以查询?- count_repetitions([yes],[yes,and,yes,and,no], X).会给出X = 2.

这似乎有效.现在我需要编写一个谓词,在表单中输出一个包含搜索词及其出现次数的列表X = [(yes - 2)].我完全陷入困境,有什么建议吗?

list prolog

3
推荐指数
1
解决办法
1772
查看次数

标签 统计

prolog ×2

list ×1