操纵清单

时间:2017-04-10 18:39:38

标签: prolog

我有一个列表列表,我正在尝试访问每个内部列表并检查其中包含的元素,然后根据我已经找到的元素创建一个包含一些数字的列表。例如,如果我有一个列表,如[[w,w,w,c,w],[w,l,r,w,w]]。我应该检查每个列表中的元素,如果所有元素都是“w”,那么我的输出列表应该添加一个(0),如果它包含一个“c”,它应该添加一个(1)和一个(2)对于元素l和r,所以在这种情况下的结果应该是[1,2]。 现在我的问题是我在帮助器谓词check_rows1 \ 2中使用的基本情况。我添加了几个基本案例,但它们无法正常工作。

check_rows([],的,总计)。          check_rows(L,W,H,总计): -            list_to_llists(L,W,LL),            check_rows1(LL,总计)。

     check_rows1([],Totals).
     check_rows1([[]|T2],Totals):-
     check_rows1(T2,Totals).
     check_rows1([[H1|T1]|T2],Totals):-
       H1=c,
       append(Totals,1,O),
       check_rows1(T1,O).

     check_rows1([[H1|T1]|T2],Totals):-
       H1=w,
       append(Totals,0,O),
       check_rows1(T1,O).

     check_rows1([[H1|T1]|T2],Totals):-
       H1=l,
       append(Totals,2,O),
       check_rows1(T1,O).

0 个答案:

没有答案