会员和名单在prolog?

时间:2015-07-11 15:44:02

标签: list prolog member

我正在尝试编写一个为状态指定颜色的代码。有5种状态(Tn,Ms,Al,Ga,Fl)我想为每种状态分配一种颜色。我必须只使用三种颜色,并且没有两个共享边框的状态可以具有相同的颜色。 我写了这段代码:

states(T, M, A, G, F) :-
  member(T, [Green, White, Red]),
  member(M, [Green, White, Red]),
  member(A, [Green, White, Red]),
  member(G, [Green, White, Red]),
  member(F, [Green, White, Red]),
  T = F,
  G = M.

当我测试我的代码时,我得到一个奇怪的输出!例如,如果我使用此代码:

states(T,M,A,G,F), write(['TN', T, ' MS', M, ' AL', A, ' GA', G, ' FL', F]).

我得到了一堆统一号码!如何为状态指定颜色? 我在这里尝试做的是,我在我的代码中说Tn和Fl应该具有相同的颜色,而Ga和Mi也应该具有相同的颜色!但似乎我做错了。我哪里做错了?我没有任何颜色作为输出!如何为州分配颜色?

提前致谢!

0 个答案:

没有答案