假设你有一个程序
book('Hps','Pages','twohundred').
book('Lww','Pages','onehundred').
book('Aff','Pages','onehundred').
book('Jin','Pages','onehundred').
book('Hps','Colour','Black').
book('Lww','Colour','Red').
book('Aff','Colour','Red').
book('Jin','Colour','Black').
而且你想要找到所有长达一百页的书籍,但是你想要排除黑色的书籍,你会怎么做呢?
我有以下规则
bookohpnb(X) :-
book(Y,_,'onehundred'),
book(Y,_,
但我无法弄清楚如何以一种排除黑色图书结果的方式完成它。
我知道我可以让程序找到红色,但我给出的例子是一个更大的程序的一小部分,在更大的程序中有更多的记录。
答案 0 :(得分:0)
多年来,我没有在prolog中编码,所以如果它不起作用,请原谅我:
bookohpnb(X) :-
book(Y,_,'onehundred'),
book(Y,_,C),
not(C = 'black').