gpt4 book ai didi

Prolog如何打印列表中的前3个元素

转载 作者:行者123 更新时间:2023-12-04 22:15:32 24 4
gpt4 key购买 nike

如何打印列表中的前 3 个元素。

我有一个打印方法

print([]).
print([X]) :- !, write(X).
print([X|T]) :- write(X), write(', '), print(T), nl.

最佳答案

在 Prolog 中,实现迭代的典型方式是递归:

print(0, _) :- !.
print(_, []).
print(N, [H|T]) :- write(H), nl, N1 is N - 1, print(N1, T).

如果我们达到零或有一个空列表,什么都不做。如果我们应该做某事,打印列表中的第一项,计算新的 N并递归调用自身。

第一个子句中的切割( ! )是必要的,否则我们将需要 N 的条件在最后一个。

关于Prolog如何打印列表中的前3个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740994/

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