我有一个性别数据库:
前任:
woman(jhon).
man(Pat)
man(leo), etc.
我需要为网球比赛编写一个函数(混合双打:每边有 2 个不同的性别)。所以如果你要求让我们说:
matchMixte(equipe(X,emma),equipe(Y,Z)) , X, Y, Z
应该返回可能的合作伙伴的组合。
对不起法国人。
- equipe 是团队的意思。
- homme 是男人的意思
- 女人
我已经有很多事情了,但我知道我走错了路。如果你因为篇幅而不能帮助我,我会理解的
这是我到目前为止的工作。
matchMixte(equipe(X,Y),equipe(X1,Y1)):-
femme(X),homme(Y),
femme(X1),homme(Y1),
not(X=Y),not(X=Y1),not(X1=Y1),not(X=X1),not(Y=X1),not(Y1=Y).
matchMixte(equipe(X,Y),equipe(X1,Y1)):-
femme(X),homme(Y),
femme(Y1),homme(X1),
not(X=Y),not(X=Y1),not(X1=Y1),not(X=X1),not(Y=X1),not(Y1=Y).
matchMixte(equipe(X,Y),equipe(X1,Y1)):-
femme(X1),homme(Y1);
femme(X),homme(Y),
not(X=Y),not(X=Y1),not(X1=Y1),not(X=X1),not(Y=X1),not(Y1=Y).
matchMixte(equipe(X,Y),equipe(X1,Y1)):-
femme(X1),homme(Y1);
femme(Y),homme(X),
not(X=Y),not(X=Y1),not(X1=Y1),not(X=X1),not(Y=X1),not(Y1=Y).