我正在制作一个prolog程序,我需要找出一个数字是偶数还是奇数。我试图创建一个带有数字的谓词,对它进行修改,如果它成功则是偶数,如果它失败则是奇怪的。
我的代码如下所示:
modNum(num):-
0 =:= mod(num, 2).
但即使我输入6,也是假的。如果我输入3,那就错了。我试过在网上找到一个解决方案,但没有一个答案似乎与mod有关,所以我不知道我是否在做错了。
更新:我已将此功能更改为
modNum(num):-
6 =:= 6.
它仍然失败。我不知道我的mod是否仍然不正确,但为什么我的谓词在6为6时失败,所以应该成功并打印出来。
答案 0 :(得分:0)
在Prolog中,变量名必须以大写字母开头。你写的num
实际上是符号,而不是变量。比较以下典型代码:
loves(hans, lisa).
loves(lisa, spicy_food).
现在有了变量:
loves(Who, What) :-
Who = hans,
What = lisa.