Prolog如何打印列表中的前3个元素
如何打印列表中的前 3 个元素。
我有一个打印方法
print([]).
print([X]) :- !, write(X).
print([X|T]) :- write(X), write(', '), print(T), nl.
How can I print the first 3 elements in a list.
I have a print method
print([]).
print([X]) :- !, write(X).
print([X|T]) :- write(X), write(', '), print(T), nl.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Prolog 中,实现迭代的典型方法是递归:
如果达到零或列表为空,则不执行任何操作。如果我们应该做某事,请打印列表中的第一项,计算新的
N
并递归调用自身。第一个子句中的剪切 (
!
) 是必要的,否则我们将需要最后一个子句中的N
条件。In Prolog, the typical way to implement iteration is recursion:
If we reached zero or have an empty list, do nothing. If we should do something, print the first item in the list, compute the new
N
and recursively call itself.The cut (
!
) in the first clause is necessary, otherwise we would need a condition forN
in the last one.如果你总是至少有树元素那就很简单
If you always have at least tree elements ist very simple