mod或谓词总是失败



我正在制作一个Prolog程序,我需要找出一个数字是偶数还是奇怪。我正在尝试制作一个数字,修改它的谓词,如果成功的话,如果失败了,那是奇怪的。

我的代码看起来像这样:

modNum(num):-
    0 =:= mod(num, 2).

但是,即使我输入6,也是错误的。如果我输入3,那是错误的。我尝试在网上找到解决方案,但似乎没有任何答案与mod有关,所以我无法分辨我在那部分中做错了什么。

更新:我已将此功能更改为

modNum(num):-
    6 =:= 6.

仍然失败。我不知道我的mod是否仍然不正确,但是为什么我的谓词失败了,当6为6时,应该成功并打印true。

在prolog中,变量名称必须以大写字母开头。您写的为num实际上是符号,而不是变量。比较以下典型代码:

loves(hans, lisa).
loves(lisa, spicy_food).

现在有变量:

loves(Who, What) :-
    Who = hans,
    What = lisa.

相关内容

  • 没有找到相关文章

最新更新