我是序言编程任务,我无法以序言形式表示以下谓词。
喜欢看球的蝙蝠侠从比尔那里买票,空闲时间从不打曲棍球或板球。
我无法以列表格式编写谓词的否定部分。该列表的形式。
member([batman,soccer,gotham,tikcet,bill],Listname)
batman - 蝙蝠侠的名字 足球 - 这个人喜欢做什么 gotham - 起源城市 tikcet - 买东西做他喜欢做的事情 bill - preson 卖票
感谢任何帮助。
谢谢!
我是序言编程任务,我无法以序言形式表示以下谓词。
喜欢看球的蝙蝠侠从比尔那里买票,空闲时间从不打曲棍球或板球。
我无法以列表格式编写谓词的否定部分。该列表的形式。
member([batman,soccer,gotham,tikcet,bill],Listname)
batman - 蝙蝠侠的名字 足球 - 这个人喜欢做什么 gotham - 起源城市 tikcet - 买东西做他喜欢做的事情 bill - preson 卖票
感谢任何帮助。
谢谢!
我没有看到问题与您的列表之间的联系。
喜欢看球的蝙蝠侠从比尔那里买票,空闲时间从不打曲棍球或板球。
第一部分在我看来是这样的:
loves(batman, watching(soccer)).
buys(batman, tickets, bill).
最后一部分在我看来是这样的:
:- dynamic plays/2.
这只是告诉 Prolog,plays/2 是一种事实,这些事实将很快出现。
然后你可以像这样编写查询:
?- loves(Batman, watching(soccer)),
buys(Batman, tickets, bill),
\+ plays(Batman, hockey),
\+ plays(Batman, cricket).
这看起来像是向我反映了这个问题,并给出了预期的回应:
Batman = batman.