gpt4 book ai didi

Prolog:显示每个子列表的每个元素

转载 作者:行者123 更新时间:2023-12-01 09:57:26 25 4
gpt4 key购买 nike

我有一大堆较小的子列表,例如:

 [ [005,Chester,100],[001,Bob,99],[002,Andy,77] ]

我正在尝试制作一个循环遍历整个列表并显示如下的显示“函数”:

 No.1: ID="005", Name="Chester", Grade=100
No.2: ID="001", Name="Bob", Grade=99
No.3: ID="002", Name="Andy", Grade=77

在 prolog 中思考已经够难了,但我正在为递归思考而苦苦挣扎。非常感谢任何帮助!

最佳答案

只有递归来处理数据结构,我认为这是 Prolog 的主要问题。

我们知道具有适当形状的数据结构缺乏表现力,这刺激了扩展(如 B-Prolog 中的循环)和语言 - 如 Picat .

无论如何,普通的 Prolog 足以解决您的问题:

show_records(L) :-
forall(nth1(N, L, E), format('No.~d:ID="~s",Name="~s",Grade="~d"~n', [N|E])).

产量

?- show_records([ ['005','Chester',100],['001','Bob',99],['002','Andy',77] ]).
No.1:ID="005",Name="Chester",Grade="100"
No.2:ID="001",Name="Bob",Grade="99"
No.3:ID="002",Name="Andy",Grade="77"
true.

关于Prolog:显示每个子列表的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com