我的數據庫的格式如下:Prolog-追加列表的列表
aminotodna (Amincoacid, [DNA sequence]).
下面是從數據庫中的幾個例子:
aminotodna(a,[g,c,a]).
aminotodna(a,[g,c,c]).
aminotodna(a,[g,c,g]).
aminotodna(a,[g,c,t]).
aminotodna(c,[t,g,c]).
aminotodna(c,[t,g,t]).
aminotodna(d,[g,a,c]).
aminotodna(d,[g,a,t]).
aminotodna(e,[g,a,a]).
aminotodna(e,[g,a,g]).
aminotodna(f,[t,t,c]).
aminotodna(f,[t,t,t]).
有些氨基酸有多個DNA序列。 這裏是我的問題,所以在給定的氨基酸列表中,例如[d,c,e,f]
,我如何將它們的DNA序列附加在一起並給出所有組合,因爲有些序列具有多於一個的序列。
如果是隻有兩個我能做到這一點,它會只是
listamino(X,Y) :-
aminotodna(X,L),
aminotodna(Y,M),
append(L,M,Z),
print(Z).
打;
給出了所有的組合。
我已經厭倦了一個清單做,但是這是我的嘗試,並沒有工作:
listamino([]).
listamino([H|T]) :-
aminotodna(H,L),
aminotodna(T,M),
append(L,M,X),
print(X).
listamino(T).
您能根據您的樣本數據給出您想要的行爲示例嗎? –
@ScottHunter所以,如果我寫了listamino([a,c,e])。它會附加DNA序列,所以結果將是[g,c,a,t,g,c,g,a,a]和其他所有組合。 – FProlog
完全刪除問題的內容真的很不禮貌你已經得到了答案。這使得答案無效並且使已經回答的人的努力失效。 –