簡體   English   中英

列表元素之和 sums| 序言

[英]Sum of list elements sums| Prolog

我正在嘗試對列表元素 sum 的結果求和。 我有這個代碼:

adding_lists(List1, List2, Result) :- sumlist(list1, Result1), sumlist(list2, Result1), Result is Result1 + Result2.

但它返回false,這個總和的方式是什么?

在您的 prolog 解釋器上咨詢時,您發布的代碼應該會給您單例警告。 Prolog 區分大小寫。 此外,以大寫字母開頭的List1是一個變量,而以小寫字母開頭的list1是一個原子。 所以在你的代碼中你應該被警告List1List2Result2是單例變量(在過程中只出現一次)。

除此之外,您正在向sumlist/2發出兩次調用(大概是針對List1List2並將結果與​​相同的變量Result1統一,而第二次調用應使用Result2 )。

解決這些問題后,您將得到以下代碼:

adding_lists(List1, List2, Result) :-
  sumlist(List1, Result1),
  sumlist(List2, Result2),
  Result is Result1 + Result2.

那應該可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM