我正在阅读《Learn Prolog Now》这本书,其中有一个练习我自己无法解决,它是这样的:
有一条街上有三栋相邻的房子,它们都是不同的颜色。它们是红色、蓝色和绿色的。不同国籍的人住在不同的房子里,他们都有不同的宠物。以下是关于他们的更多信息:
- 英国人住在红房子里。 - 西班牙家庭养了美洲豹。 - 日本人住在蜗牛饲养员右边。 - 蜗牛饲养员住在蓝房子左边。
谁养斑马?
定义一个谓词
提示:想想房子和街道的表现形式。用 Prolog 编写四个约束条件。
有没有什么方法可以在 Prolog 下编写它?谢谢。
有一条街上有三栋相邻的房子,它们都是不同的颜色。它们是红色、蓝色和绿色的。不同国籍的人住在不同的房子里,他们都有不同的宠物。以下是关于他们的更多信息:
- 英国人住在红房子里。 - 西班牙家庭养了美洲豹。 - 日本人住在蜗牛饲养员右边。 - 蜗牛饲养员住在蓝房子左边。
谁养斑马?
定义一个谓词
zebra/1
,告诉你斑马主人的国籍。提示:想想房子和街道的表现形式。用 Prolog 编写四个约束条件。
member
和 sublist
可能是有用的谓词。有没有什么方法可以在 Prolog 下编写它?谢谢。