【发布时间】:2019-08-13 06:00:06
【问题描述】:
输入查询后,我的 Prolog 代码需要返回是(或否),而是返回“true ?”并要求我按 Enter 键获得“是”。
问题是关于俄罗斯娃娃,娃娃从外到内的顺序是katrina->olga->natasha->irina。如果 X 直接在 Y 内部,则 DirectlyIn(X,Y) 为真,如果 X 包含 Y,则 contains 应该为真。
directlyIn('irina', 'natasha').
directlyIn('natasha', 'olga').
directlyIn('olga', 'katrina').
///
contains(X, Y) :- directlyIn(Y, X).
contains(X, Y) :- directlyIn(Z, X), contains(Z, Y).
从查询?- contains(katrina, irina). 我预计输出只是“是”,但它输出的是“真?”直到我按回车,然后它输出“是”。
【问题讨论】: