从SWI Prolog中的列表中删除
我是SWI Prolog的初学者,我有一个问题。请帮帮我。 如何从列表中删除最后出现的9 示例:从SWI Prolog中的列表中删除,prolog,Prolog,我是SWI Prolog的初学者,我有一个问题。请帮帮我。 如何从列表中删除最后出现的9 示例: ?- delete([9,9,9]) [9,9] ?- delete([9,4,1,2,3,9,53,2,9,2]) [9,4,1,2,3,9,53,2,2] 您必须1)将列表分解为前缀列表(可能包含9个)、[9]一个元素列表和后缀列表(不包含9个),然后将前缀和后缀列表连接起来。编写一个谓词,在给定的列表L中查找前缀和后缀 如果我们不按程序或按照“这将花费多少CPU”的思路思考,谓词分解(列表、
?- delete([9,9,9])
[9,9]
?- delete([9,4,1,2,3,9,53,2,9,2])
[9,4,1,2,3,9,53,2,2]
您必须1)将列表分解为前缀
列表(可能包含9个)、[9]
一个元素列表和后缀
列表(不包含9个),然后将前缀
和后缀
列表连接起来。编写一个谓词,在给定的列表L
中查找前缀和后缀
如果我们不按程序或按照“这将花费多少CPU”的思路思考,谓词分解(列表、前缀、后缀)
,它发现前缀和后缀可以写在一个子句中,一个纯逻辑语句,使用append/2
和member/2
和否定作为失败
我们只需要第二行来说明列表中没有9的情况。首先,您需要第二个参数!