(Prolog)获取没有列表的变量总和
(Prolog) Get sum of variables without list
对 Prolog 很陌生,我完全不擅长它。
我正在尝试计算作业中所有分数的总和,return。求和谓词的格式必须为 sumAssignments(S)
.
这是我制作的知识库:
assignment(1, A).
assignment(2, B).
assignment(3, C).
assignment(4, D).
assignment(5, E).
...其中 assignment(1, A)
表示作业 1 具有可变等级 A(可能是 70,可能是 50,等等)。
这是我尝试获取总和的尝试,仅用于测试目的的前两个作业:
sumAssignments(S) :- assignment(1, A), assignment(2, B), S=A+B.
那总是 return是的。这里的关键是我不能使用列表。
我发现只有常量属于谓词,所以我们会找到一个任意数字来表示 'A',而不是 assignment(1, A).
,在这种情况下可能是 67 或 100:assignment(1, 67).
这样做之后求和效果很好。
对 Prolog 很陌生,我完全不擅长它。
我正在尝试计算作业中所有分数的总和,return。求和谓词的格式必须为 sumAssignments(S)
.
这是我制作的知识库:
assignment(1, A).
assignment(2, B).
assignment(3, C).
assignment(4, D).
assignment(5, E).
...其中 assignment(1, A)
表示作业 1 具有可变等级 A(可能是 70,可能是 50,等等)。
这是我尝试获取总和的尝试,仅用于测试目的的前两个作业:
sumAssignments(S) :- assignment(1, A), assignment(2, B), S=A+B.
那总是 return是的。这里的关键是我不能使用列表。
我发现只有常量属于谓词,所以我们会找到一个任意数字来表示 'A',而不是 assignment(1, A).
,在这种情况下可能是 67 或 100:assignment(1, 67).
这样做之后求和效果很好。