3

我的版本对学生的姓名、年龄、出身和学科感兴趣。

solve :-
    length(X, 6),                  % there are six students
    member([manuel, 19, _, _], X), % Manuel is 19 years old
    member([_, 20, _, win], X),    % 20 years old student studies win
    ...

但是有些规则我不知道如何在 Prolog 中实现。例如:

奥利弗比数学学生大两岁,但比华盛顿的学生小两岁。

如何创建一个可以比较年龄的规则?

4

1 回答 1

2
member([oliver,OLIVER_AGE,_,_],X) ,
member([_,MATH_AGE,_,math],X) ,
member([_,WASHINGTON_AGE,washington,_],X) ,
OLIVER_AGE is MATH_AGE + 2 ,
OLIVER_AGE is WASHINGTON_AGE - 2
于 2020-11-09T13:26:36.153 回答