0
brand(_AbbottHill).
brand(_Manzarita).
brand(_Graffetz).
brand(_Williford).

size(4).
size(5).
size(6).
size(7).

solve:-
brand(AbbottHill), brand(Manzarita), brand(Graffetz), brand(Williford),
all_different([AbbottHill, Manzarita, Graffetz, Williford]),

size(4),size(5),size(6),size(7),
all_different([4,5,6,7]),

Triples = [ [lucia, LuciaBrand, LuciaSize],
         [genevieve, GenevieveBrand, GenevieveSize],
         [vanessa,VanessaBrand, VanessaSize],
         [shawna, ShawnaBrand, ShawnaSize]],

  (member([lucia, _ , 4], Triples),  member([Manzarita,_, 7], Triples)) ; 
  (member([ lucia,_,7], Triples),  member([ Manzarita, _, 4], Triples)),

  (((member([genevieve, _, 4], Triples),(member([ AbbottHill,_, 6], 
  Triples));(member([genevieve,_, 5],Triples),(member([ AbbottHill, _ , 7], 
  Triples))),

(((member([vanessa, _, 6], Triples),(member([ genevieve, _, 4], Triples));
(member([vanessa, _,7],Triples),(member([genevieve,_, 5], Triples))),

(member([shawna, _, 5], Triples), (member([Grafettz, _, 4], Triples));
(((member([shawna, _, 6], Triples), (member([Grafettz, _, 4], Triples); 
member([Grafettz, _, 5], Triples)));(((member([shawna, _, 7], Triples), 
(member([Grafettz, _, 4], Triples); member([Grafettz, _, 5], Triples); 
member([Grafettz, _, 6], Triples)),

tell(lucia, LuciaBrand, LuciaSize),
tell(genevieve, GenevieveBrand, GenevieveSize),
tell(vanessa, VanessaBrand, VanessaSize),
tell(shawna, ShawnaBrand, ShawnaSize),

all_different([H | T]):- member(H,T),!,fail.
all_different([_ | T]) :- all_different(T).
all_different([_]).

tell(X,Y,Z):-
write(X), write(‘bought a size '), write(Y),write(Z), write('.'),nl.

操作员错误来自这一行:all_different([H | T]):- member(H,T),!,fail. 文件结尾错误来自这一行:tell(X,Y,Z):- 我正在尝试让它输出类似这样的内容 对于每个客户,以某种格式显示他们的姓名、鞋码和鞋的制造商与此类似:乔买了 13 号耐克。

4

0 回答 0