我正在尝试在Prolog中创建偶数/奇数函数。
第一个参数是整数列表,第二个参数是偶数列表,最后一个参数是奇数函数列表。
这就是我目前的情况:
even_odd([], [], []).
even_odd([H|T], [H|E], O) :-
0 is X mod 2,
even_odd(T, E, O).
even_odd([H|T], E, [H|O]) :-
1 is X mod 2,
even_odd(T, E, O).
这适用于除空([]
)列表之外的每个列表。
每当我尝试空列表时,我得到:
even_odd([], Even, Odd).
Even = Odd, Odd = [].
而不是:
even_odd([], Even, Odd).
Even = [], Odd = [].
有人可以帮帮我吗?谢谢。
编辑:我已经查看了this,但它不适用于空列表。