为and运算符谓词(Prolog)给出的结果
有人被占用,定义为是否有人同时做两份工作为and运算符谓词(Prolog)给出的结果,prolog,predicate,Prolog,Predicate,有人被占用,定义为是否有人同时做两份工作 occupe(X):- employe(X,C1), employe(X,C2). 给出以下描述 employe(tom,shopify). employe(eva,shopify). employe(eva,ibm). employe(sam,cisco). employe(sam,bridehead). 我想修改以下谓词以返回从事两种工作的人员 occupe(X):- employe(X,C1), employe(X,C2). 我不明白为什么t
occupe(X):- employe(X,C1), employe(X,C2).
给出以下描述
employe(tom,shopify).
employe(eva,shopify).
employe(eva,ibm).
employe(sam,cisco).
employe(sam,bridehead).
我想修改以下谓词以返回从事两种工作的人员
occupe(X):- employe(X,C1), employe(X,C2).
我不明白为什么tom只做一份工作时会得到一个可能的答案(也就是说,我不明白操作员如何,
不能确保员工做两份不同的工作)
此外,我还尝试添加了
代码>在开始时,但它没有起作用。之所以起作用,是因为C1
和C2
本身并没有什么不同。因此,它将C1
和C2
与shopify
统一起来
为了确定从事两种不同工作的人员,应指定C1
和C2
应不同:
occupe(X):- employe(X,C1), employe(X,C2), C1 \= C2.
occupe(X):-employe(X,C1),employe(X,C2),C1\=C2。
C1
和C2
是相同的。请不要污损您的帖子。通过在Stack Exchange网络上发布,您已授予SE分发该内容的不可撤销的权利(根据)。根据SE政策,任何故意破坏行为都将恢复原状。