如何在Prolog上接受输入并列出清单?

时间:2019-07-19 00:23:49

标签: list prolog

我正在做基础人工智能作业,问题是,“制作一个Prolog程序,该程序可以读取2个数值列表, 串联起来”,所以我是一个菜鸟,我也不知道如何从Prolog中获取输入并将其逐个列出

%I have only make the while func so that you  
%put the total numbers you want on the list
p_while(0) :- !.
p_while(N) :- 
   N > 0,
   N1 is N - 1,
   read(Num),
   p_while(N1).

1 个答案:

答案 0 :(得分:1)

有一个称为append/3的标准谓词。您可以使用它从提示符处读取两个数值列表,并将它们连接起来,如下所示:

?- append([1,2], [3,4], L).
L = [1, 2, 3, 4].

您可以使用listing/1来查看append/3的定义:

?- listing(append/3).
lists:append([], L, L).
lists:append([H|T], L, [H|R]) :-
    append(T, L, R).

true.