小编use*_*501的帖子

prolog检查清单

我有以下代码:

check([],[]).
check([X], [Y]) :-
    X > 0,
    Y is 1.
check([X], [Y]) :-
    X =:= 0,
    Y is 0.
check([L1|Tail], [L2|Tail2]) :-
    L1 > 0,
    L2 is 1,
    check(Tail,Tail2).
check([L1|Tail], [L2|Tail2]) :-
    L1 =:= 0,
    L2 is 0,
    check(Tail,Tail2).
Run Code Online (Sandbox Code Playgroud)

谓词检查创建一个表,用于替换大于0into的所有项1.这个谓词适用于这样的简单列表L = [3,4,5,6,0]并生成一个列表L1 = [1,1,1,1,0].

我需要进行谓词检查以接受列表作为项目列表.

例如:L = [[2, 3, 4], [4, 0, 6], [5, 6, 3]].列表中的项目与项目列表的项目一样多.这意味着如果列表包含3个项目列表,则每个项目列表应包含3个项目.

list prolog

2
推荐指数
1
解决办法
1795
查看次数

标签 统计

list ×1

prolog ×1