可以说我有关系
Happy(james)
Happy(harry)
unhappy(Tom)
unhappy(Ben)
unhappy(Dick)
然后是人员名单
[Ben, James, Harry, Tom, Dick]
如何迭代列表并检查每个列表元素的布尔值以确定它们是否满意?
嗯,首先,在 Prolog 中,如果一个单词以大写字母开头,则意味着它是一个变量。所以你应该小心这一点。
这是我修改后的数据库:
happy(james).
happy(harry).
unhappy(tom).
unhappy(ben).
unhappy(dick).
我添加了一个递归规则,可以帮助我查看谁快乐,谁不来自给定列表:
emotion([]).
emotion([H|T]):- happy(H),emotion(T),
write(H),write(' is happy.'),
nl;
unhappy(H),emotion(T),
write(H),write(' is unhappy.'),
nl.
结果如下:
4 ?- emotion([ben, james, harry, tom, dick]).
dick is unhappy.
tom is unhappy.
harry is happy.
james is happy.
ben is unhappy.
true.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)