问题标签 [prolog-toplevel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
319 浏览

prolog - 在 SWI-prolog 中键入列表并按 Enter 没有任何作用

我正在阅读这里的序言教程,它告诉我输入列表以获取当前知识库的内容列表。我很确定如果不加载 KB,它应该会显示乱码。但是,相反,我有:

在此处输入图像描述

在我按下回车后,它什么也不做。难道我做错了什么?

0 投票
3 回答
2055 浏览

prolog - Prolog 程序返回 false

我在 Prolog 中实现了以下电源程序:

代码做了应该做的事情,但是在正确答案之后它会打印“假”。我不明白为什么。我正在使用 swi-prolog。

0 投票
1 回答
150 浏览

prolog - 为什么 swipl 的响应不一致?

0 投票
1 回答
143 浏览

prolog - 当输出在一行时没有得到完整的结果

我是 Prolog 的新手,我正在尝试对图表进行一些操作。

我的实现有一个问题,由于暴露的时间很长很复杂,我会给出一个简单类似的问题。

假设我们有以下图表:

我想让这个图双向。我使用以下代码:

执行查询时,我得到以下结果:

我的问题不在代码中我的问题在结果中,如您所见,我没有得到完整的结果,它总是只给我 8 个边,其余的没有显示。

如何解决这个问题?

0 投票
1 回答
223 浏览

list - Prolog,打印变量而不是实际答案,适用于不同的答案,但不适用于重复

输入:-

实际输出:-

预期输出:-

如您所见,我得到的输出是 Person1 = Person3 而不是列表中的实际整数。有没有办法解决这个问题?因为那我的整个家庭作业都不会起作用。

0 投票
1 回答
1011 浏览

prolog - PROLOG 结果与真

我在一个名为“testing.pl”的文件中有下一个代码:

然后,在 SWI-Prolog 解释器中查询funcA(X).,输出为:

但是,每当我查询testing.输出是:

所以,我的问题是:

如何将规则的结论用作另一个规则的前提(funcA(X)在右侧testing),但效果与我查询该前提(funcA(X))相同?

在上面的示例中,我想testing.在我的“testing.pl”文件的某个位置编写并让 funcA(X) 像我使用解释器查询时一样执行相同的操作,因此 funcB(X) 将检查所有X 可以从 fact(N) 中获取并返回的值。

我希望的结果是写作testing.并出现在屏幕上:

谢谢。

0 投票
1 回答
2385 浏览

prolog - 目标(指令)失败:用户:主 Prolog swi

代码需要将值 <=2 和值 >2 分成不同的列表。但是当我将它运行到ideone时它给了我这个错误。

0 投票
3 回答
378 浏览

prolog - Prolog nth1 匿名变量

我有一个包含整数和匿名变量的列表,我试图找到一个特殊值的索引。问题是一旦我nth1/3用来查找索引 Prolog 将值分配给匿名变量,因此我也找到了索引。

示例: List = [1,\_,1],我想要的结果X = 1, X = 3来自nth1(X,List,1),但正如我得到之前所述X = 1, X = 2, X = 3

0 投票
1 回答
2139 浏览

prolog - 类型错误:prolog 预期的 `character_code'

我是序言的新手。我正在编写一个带有哥德巴赫猜想问题的代码,我必须列出一个偶数的所有可能组。我找到了这样的代码:

但是,当我执行程序时,程序成功打印了第一组,但随后出现错误。

我不知道这个错误是如何发生的,我在互联网上寻找信息但一无所获。有人有什么想法吗?谢谢你的回答。

0 投票
2 回答
6111 浏览

prolog - 在 SWI-Prolog 中获取多种解决方案

我是 SWI-Prolog 的初学者(但在 Borland Prolog 方面有一些经验),我遇到了以下测试代码的奇怪行为:

预计查询?-test(A)会得到 2 个解决方案,例如A = 10; A = 1. 但是,只A = 10生产。我这里不用剪裁。也许回溯在 SWI-Prolog 中默认是关闭的?

提前致谢